1.函数的定义和调用
定义: def 函数名([参数列表]):
调用: 函数名([参数列表])
函数名:如果由多个单词组成,第二个单词的首字母应该大写。
形参:在定义函数时,函数名后面括号中的变量名称叫做“形式参数”。
实参:在调用函数时,函数名后面括号中的变量名称叫做“实际参数”。
传递实参:位置实参:实参顺序与形参顺序相同。
关键字实参:实参由变量名和值组成。
默认值:给形参指定默认值,在未提供实参时使用默认值。
2.传参的一些特殊用法
2.1 传递列表的副本而不是原件
切片表示法[:]创建列表的副本。
# function_name(list_name[:])
print_models(unprinted_designs[:],completed_models)
2.2 传递任意数量的实参
形参名前加*让Python创建一个以形参命名的空元组,并将收到的所有值都封装到这个元组中。
def make_pizza(*toppings)
print(topping)
make_pizza('mushrooms','green peppers')
>>>('mushrooms','green peppers')
预先不知道传递给函数的是什么样的信息,可将函数编写成能够接受任意数量的键-值对:
形参名前加**让Python创建一个以形参命名的空字典,并将收到的所有名称-值都封装到这个字典中。
def build_profile(first,last,**user_info)
profile = {}
profile['first_name'] = first
profile['last_name'] = last
for key,value in user_info.items():
profile[key] = value
return profile
>>>user_profile = build_profile('albert','einstein',location='princeton',field='physics')
>>>print(user_profile)
>>>{'first_name':'albert','last_name':'einstein','location':'princeton','field':'physics'}