zl程序教程

您现在的位置是:首页 >  其它

当前栏目

函数

函数
2023-06-13 09:11:59 时间

参数

python的输入参数主要分为位置参数和关键词参数。

位置参数

位置参数是我们在定义函数时最经常用的参数,即声明一系列变量名称来作为接受参数,参数接受顺序按照函数的输入顺序来决定。

使用*收集位置参数

当我们对需要输入的位置参数个数不确定时,我们可以利用位置参数来进行收集参数,"*+变量名称"的变量会作为未知参数的接受变量,需要注意的是python会默认将接受的参数转化为元组。

def ppp(*pavg):
    for item in pavg:
        print(item)
ppp("xiaoming","xiaownag","xiaohong")

关键词参数

位置参数固然好用,但一个问题是当函数的传递参数过多时我们无法记住所有输入参数的输入顺序,这会给我们函数的使用带来很多困难。于是python还有另外一种叫做关键词参数的输入参数,该参数在函数声明时一般会用子啊变量名字后跟一个等号,写成类似于"a=‘sh’"的形式,这种定义方式的一个好处是不会按照输入顺序来决定变量的值。且如果不给相应的关键词参数赋值的话,会使用函数定义时的值作为默认值(切记不要把可变的数据类型(列表或者字典)当做默认值,参数声明在函数定义时)。另外需要注意的是关键词参数的传递在位置参数之后。

用**收集关键词参数

与*类似,**收集关键词参数对变量赋值时会将输入的关键词转化为字典存储在变量中:

def ppp(**pavg):
    return pavg
a=ppp(a="xiaoming",b="xiaownag",c="xiaohong")
print(a)

设定只接受关键词参数传递的参数

将强制关键词参数放在*,后面即可:

def h(x=1,*,y=1):
    print(x+y)
    return 0
#h(1,2)#报错
h(1,y=2)

这个原则背后的逻辑是因为单个*后跟的其他参数只能是关键词参数,所有传入的未知参数都会收入*后边。详细解答

这块可以参考Python中’*'的用法,其实可以视作Python容器的迭代运算符号

文档字符串

在定义函数后,我们可以为定义的函数创建帮助文档,方法为在定义函数的区域使用"’ 注释内容’"来写帮助文档。函数外查看帮助文档有两个方法:

  • help(func_name):返回函数的参数列表和文档
  • fun_name.doc:返回文档字符串

函数传递及内部函数

在python语法中,函数被当做一个普通对象。我们可以将函数本身或者函数的返回值赋给其他变量,将函数赋给某一变量的时候记得不要在函数名称后加括号不然会自动调用函数,赋给变量的就是函数的返回值了。 除此之外,我们还可以在函数内部继续定义新的函数,内部函数可以直接使用函数内的变量,可以修改变量的值。具体丰富的应用参考装饰器的使用方法。