>> 定义函数:
def name():
pass
参数位置按照顺序排列并传递。
>> 使用 * 收集位置参数
当*用在函数内部的时候,星号将一组可变数量的位置参数集合成参数值的元组。
例如:
def print_aa(*aa):
print(aa)
print_aa(3,1,2,'huawei')
Out[45]: (3, 1, 2, 'huawei')
注:传入的参数都会以元组的形式返回。
>> 使用 * 收集关键字参数
使用**将参数收集到一个字典,参数的名字就是字典的关键字,参数的值就是字典对应键的值。
def print_kwargs(**kwargs):
print(kwargs)
print_kwargs(wine='merlot',entree='mutton',dessert='macaroom')
{'dessert': 'macaroom', 'entree': 'mutton', 'wine': 'merlot'} #输出时,系统会按照字母表顺序对关键字排序
>> 内部函数
def outer(a,b):
def inner(c,d):
return c+d
return inner(a,b)
outer(3,9)
Out[50]: 12
>> lambda() 函数
lamda() 函数是用一个语句表达的匿名函数,可以用来代替小的函数。
例如:
def edit_story(words,func):
for word in words:
print(func(word))
staris=['thus','memo','thud','hiss']
def enliven(word):
return word.capitalize()+'!'
edit_story(staris,enliven)
Thus!
Memo!
Thud!
Hiss!
可以换成下面:
edit_story(staris,lambda word:word.capitalize()+'!')
Thus!
Memo!
Thud!
Hiss!
def name():
pass
参数位置按照顺序排列并传递。
>> 使用 * 收集位置参数
当*用在函数内部的时候,星号将一组可变数量的位置参数集合成参数值的元组。
例如:
def print_aa(*aa):
print(aa)
print_aa(3,1,2,'huawei')
Out[45]: (3, 1, 2, 'huawei')
注:传入的参数都会以元组的形式返回。
>> 使用 * 收集关键字参数
使用**将参数收集到一个字典,参数的名字就是字典的关键字,参数的值就是字典对应键的值。
def print_kwargs(**kwargs):
print(kwargs)
print_kwargs(wine='merlot',entree='mutton',dessert='macaroom')
{'dessert': 'macaroom', 'entree': 'mutton', 'wine': 'merlot'} #输出时,系统会按照字母表顺序对关键字排序
>> 内部函数
def outer(a,b):
def inner(c,d):
return c+d
return inner(a,b)
outer(3,9)
Out[50]: 12
>> lambda() 函数
lamda() 函数是用一个语句表达的匿名函数,可以用来代替小的函数。
例如:
def edit_story(words,func):
for word in words:
print(func(word))
staris=['thus','memo','thud','hiss']
def enliven(word):
return word.capitalize()+'!'
edit_story(staris,enliven)
Thus!
Memo!
Thud!
Hiss!
可以换成下面:
edit_story(staris,lambda word:word.capitalize()+'!')
Thus!
Memo!
Thud!
Hiss!