python 函数(函数的参数)
程序员文章站
2024-03-17 16:00:28
...
函数的参数:位置参数、默认值参数、命名参数、可变参数、万能参数
1,位置参数
def power(x,n): # x = 4 n =3
s = 1
while n > 0:
n = n -1 # n = 3-1=2 n = 2-1 n = 1-1
s = s * x # s = 1 *4 s = 4*4 s = 16 * 4
return s
print(power(4,3))
2,默认参数值
def power(x,n=2): # x = 4 n =3
s = 1
while n > 0:
n = n -1 # n = 3-1=2 n = 2-1 n = 1-1
s = s * x # s = 1 *4 s = 4*4 s = 16 * 4
return s
print(power(4))
默认值参数就是给一个参数设定默认值,如果这个参数没有传入相对应的值,按照默认值进行计
算,如果传入对应的值,按照传入的值进行计算
注意:(1)默认值参数写在后面
(2)默认值非必要不指向可变对象
>>> def add_end(L=None):
... if L is None:
... L = []
... L.append("END")
... return L
...
>>> add_end()
['END']
>>> add_end()
['END']
>>> add_end()
['END']
>>> add_end()
['END']
3,可变参数
可变参数,*表示可变参数
允许调用函数的时候传入0个或者任意个参数,系统会将这些参数自动封装成元组
def num(*numbers):
sum = 0
for n in numbers:
sum = sum + n*n
return sum
# print(num([1,2,3,4]))
# print(num((1,2,3,4)))
print(num(1,2,3,4))
print(num(1,2,3))
4, 关键字参数
允许调用函数的时候传入0个或者任意个参数,系统会将这些参数自动封装成字典
>>> def person(name,age,**kw):
... print("name:",name,"age:",age,"other:",kw)
...
>>> person("zhangsan",18)
name: zhangsan age: 18 other: {}
>>> person("zhangsan",18,city="Beijing")
name: zhangsan age: 18 other: {'city': 'Beijing'}
>>> person("zhangsan",18,city="Beijing",gender="男")
name: zhangsan age: 18 other: {'city': 'Beijing', 'gender': '男'}
5 命名关键字参数
>>> def person(name,age,*,city,gender):
... print(name,age,city,gender)
...
>>> person("zhansgan",24,city="beijing",gender="男")
zhansgan 24 beijing 男
(1)、如果函数参数中已经出现可变参数,可以省略命名关键字的*
(2)、也可以给命名关键字参数设置默认值
注意:任何函数都可以有以上五种参数组合,同时尽量不要使用太多参数类型的组合
上一篇: 顺序查找和二分查找
下一篇: CH6801 棋盘覆盖(二分图最大匹配)