zoukankan      html  css  js  c++  java
  • python notice6 函数

    一、什么是函数

      函数:对代码块和功能的封装和定义。需要时可以直接调用。

    二、函数的定义及调用

    1.定义:

      def  函数名(形参):  #函数名的命名规则和变量基本一样。

        函数体     #函数被执行时所需要执行的代码。

    2.调用:

      函数名(实参)  #调用

    三、函数的返回值

      当函数执行结束后,可以用return来返回结果。

    1.遇到return后,此函数结束,函数后面将不会被执行。

    2.return返回值:

      如果不写return或者return后面不写返回值,默认返回None。

      如果return后面写一个返回值,调用者可以接收到一个结果。

      如果return后面写多个返回值,每个值用“,”隔开。调用者可以接收到一个tuple(元组),可以解构成多个变量。

    四、函数的参数

    1.形参:在函数声明时写的变量叫形参。

    2.实参:在函数调用时写的变量叫实参。

    3.传参:给函数传递信息的时候将实际参数交给形式参数的过程被称为传参。

    4.实参分类:

      1.位置参数。在传参过程中,系统会默认按照位置把实参赋值到形参。

      2.关键字参数。在传参过程中,要记住形参的名字(关键字),直接给关键字赋值。

      3.混合参数,两者一起使用。  注:位置参数必须在关键字参数前面。

    5.形参分类:

      1.位置参数。按照位置进行赋值。

      2.默认值参数。在函数声明时,给出函数参数的默认值。在调用的时候可以给出具体的值;也可以不给值,使用默认值。  注:必须先声明位置参数,才能声明默认值参数。

        eg:def stu_info(名字,年龄,性别=“男”)  #默认性别:男

      3.动态参数。  

        动态参数分成两种:动态接收位置参数;动态接收关键字参数。

        动态接收位置参数:在参数位置前写*表示接收任意个位置参数。

          eg:def 函数名(*形参)  #可以接收任意内容。  注:多个参数传递进去,收到的内容是元组tuple。

        动态接收关键字参数:在参数位置前写**表示接收任意个关键字参数。

          eg:def 函数名(**形参)  #可以接收任意内容。  注:多个参数传递进去,收到的内容是字典dict。

      注:在混合使用时,各个参数的顺序

        位置参数 > *args >默认值参数 > **kwargs

    补充:动态传参的另一种传参方式。

      eg:def func(*args):

          print(args)

        lst = [1,4,7]

        func(*lst)  #可以使用*把一个列表按顺序打散。

        s = "臣妾做不到"

        func(*s)  #字符串打散。

        dic = {"a":1,"b":2,"c":3}

        func(**dic)  #字典打散

        注:可迭代对象都可以按顺序进行打散。在形参位置上的*表示把接收到的参数组合成一个元组;在形参位置上的**表示把接收到的参数组合成一个字典。

      注:函数调用时,实参和形参的个数要一致,否则会报错。

      注:每个形参/实参之间用“,”隔开。

  • 相关阅读:
    v4L2编程
    我的c#开发之路
    JS 获取页面input控件 追加样式属性
    FileUpload控件应用
    C# Winform项目下实现左侧菜单右侧界面显示效果
    在DropDownList 控件绑定数据源中新增一条自定义数据
    在datatable数据中自定义增加一列
    java 实现字符串词频统计
    Hibernate3.x 中BLOB、CLOB 注解配置写法
    lucene 排序
  • 原文地址:https://www.cnblogs.com/xiaolu-fan/p/11224826.html
Copyright © 2011-2022 走看看