python语法笔记----函数参数

def power(x, n=2): #默认参数
s = 1
while n > 0:
n = n - 1
s = s * x
return s

print (power(5)) #默认了n=2,n > 2的其他情况,就必须明确地传 25 #入n,比如power(5, 3)
print (power(5, 2))
25

必选参数在前,默认参数在后

def enroll(name, gender, age=6, city=‘Beijing’):

enroll(‘Adam’, ‘M’, city=‘Tianjin’)
#调用时,传入默认参数可不按顺序但需明确参数名(city)。

def add_end(L=None):
if L is None: #默认参数必须是定值,不能是变量,变量结果会被不断更新
L = []
L.append(‘END’)
return L

print(add_end([‘1’,‘2’]))

[‘1’, ‘2’, ‘END’]

我们在编写程序时,定义默认参数时,如果可以设计一个不变对象,那就尽量设计成不变对象。

def calc(*numbers): #*numbers是定义的可变参数
sum = 0
for n in numbers:
sum = sum + n * n
return sum
nu=[1,2,3]
print(calc(1,2,3)) #print(calc(nu[0],nu[1],nu[2]))也可

14 #11+22+3*3

def calc(numbers):
sum = 0
for n in numbers:
sum = sum + n * n
return sum
print(calc([1,2,3]))

14 #11+22+3*3

关键字参数:关键字也可以“可变”
def person(name, age, **kw): #**kw,关键字可变
print(‘name:’, name, ‘age:’, age, ‘other:’, kw)

print(person(‘Michael’, 30))

name: Michael age: 30 other: {}

print (person(‘Bob’, 35, city=‘Beijing’))

name: Bob age: 35 other: {‘city’: ‘Beijing’}

print (person(‘Adam’, 45, gender=‘M’, job=‘Engineer’))

name: Adam age: 45 other: {‘gender’: ‘M’, ‘job’: ‘Engineer’}

def person(name, age, *, city, job): #*后两个参数为指定的可传入参量名
print(name, age, city, job)

在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。

猜你喜欢

转载自blog.csdn.net/qq_43280644/article/details/87908273