Discuss / Python / 函数的参数

函数的参数

Topic source

七月上行

#1 Created at ... [Delete] [Delete and Lock User]

def product(x, args): #通过加个x使python自动检测typeError res = x for x in args: res = x return res

Python函数在定义的时候,默认参数L的值就被计算出来了,即[],因为默认参数L也是一个变量,它指向对象[],每次调用该函数,如果改变了L的内容,则下次调用时,默认参数的内容就变了,不再是函数定义时的[]了。 定义默认参数要牢记一点:默认参数必须指向不变对象! 这种写法当然是可行的,问题是太繁琐,所以Python允许你在list或tuple前面加一个号,把list或tuple的元素变成可变参数传进去: nums表示把nums这个list的所有元素作为可变参数传进去。这种写法相当有用,而且很常见。

extra表示把extra这个dict的所有key-value用关键字参数传入到函数的kw参数,kw将获得一个dict,注意kw获得的dict是extra的一份拷贝,对kw的改动不会影响到函数外的extra。

如果要限制关键字参数的名字,就可以用命名关键字参数,例如,只接收city和job作为关键字参数。这种方式定义的函数如下:

def person(name, age, *, city, job): print(name, age, city, job)

参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。

随风丶K

#2 Created at ... [Delete] [Delete and Lock User]

测试第一行就GG了

七月上行

#3 Created at ... [Delete] [Delete and Lock User]

def product(x, *args): #通过加个x使python自动检测typeError res = x for x in args: res *= x return res

七月上行

#4 Created at ... [Delete] [Delete and Lock User]

腊鸡编辑器 *需要转义 否则当成关键字处理了


  • 1

Reply