Python函数function,定义,调用,以及各种传参方式

Python函数function,定义,调用,以及各种传参方式

            函数 function

Python函数function,定义,调用,以及各种传参方式

              什么是函数:

                函数是可以重复执行的语句块,可以重复使用

              作用:

                1. 用于封装语句块,提高代码的重用性

                2. 定义用户级别的函数

            

            函数定义(创建)语句 def 语句的语法:

                def 函数名(形参列表):

                    语句块

            

            说明:

              1. 函数的名字就是语句块的名称

              2. 函数名的命名规则与变量名相同(函数名必须为标识符)

              3. 函数有自己的名字空间,在函数外部不可以访问函数内部的变量,在函数内部可以访问函数外部的变量,通常让函数处理外部数据需要用参数给函数传入一些数据

              4. 函数的参数列表可以为空

              5. 语句部分不能为空。如果为空需要填充pass语句

            

            

            函数的调用

              函数名(实际调用传递参数列表)

                注: 实际调用传递参数以后称为实参

            

              说明:

                函数调用是一个表达式

                如果没有return语句,此函数执行完毕后返回None 对象

                如果函数需要返回其它的对象需要用到return语句

        return 语句

          语法:

            return [表达式]

            [] 代表可以省略

          作用:

            用于函数中,结束当前函数的执行,返回到调用该函数的地方,同时返回一个对象的引用关系

          说明:

            1. return语句后跟的表达式可以省略,省略后相当于 return None

            2. 如果函数没有return语句,则函数执行完最后一条语句后返回None(相当于在最后加了一条return None语句)

            3. 函数调用一定会返回一个对象的引用


序列传参:

序列传参是指在函数调用过程中,用 * 将序列拆解后按位置传参的方式

如:

def mmm(a,b,c):

...代码

s = ['a','b','c']

mmm(*s)   S也可以是 'abc'

关键字传参:实参和形参可以不按位置匹配

是指传参时,按着形参的名称给形参赋值,实参和形参按名称进行匹配

如: def mmm(a,b,c):

pass

mmm(b=2,c=3,a=1)   =>  等同于 mmm(1,2,3)

字典关键字传参:指实参为字典,将字典用 ** 拆解后进行关键字传参

如: def mmm(a,b,c)

pass

d={'c':333,'b':222,'a':111}

mmm(**d)   相当于:mmm(c=333,b=222,a=111)

字典的键名和形参名必须一致

字典键名必须为字符串

字典的键名必须在形参中存在

综合传参:函数的传参方式,在能确定形参能唯一匹配到相应实参的情况下可以任意组合

如:def mmm(a,b,c):

pass

mmm(100,*[200,220])

mmm(*'ab',33)

mmm(100,c=11,b=22)

mmm(1,**{'c':2,'b':22})

mmm(**{'c':2,'b':22},a=11)

传参时要先位置传参,后关键字传参


最后编辑于:2019/07/23作者: 牛逼PHP

发表评论