欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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))

python 函数(函数的参数)

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)、也可以给命名关键字参数设置默认值
注意:任何函数都可以有以上五种参数组合,同时尽量不要使用太多参数类型的组合