标签:
定义一个函数
def function_name(形式参数):
代码块
return ‘Value‘ #如果没有写return,则默认返回None
# 一个函数到return这一行就结束执行了,在return后面写的东西不执行
function_name(实际参数) # 只有call这个函数的时候才会执行函数里面的代码
函数把功能提取了出来,提高效率减少代码量
定义函数的时候,参数可以有不止一个,可以是普通参数,默认参数,动态参数。默认参数放在普通参数后面,动态参数放在最后面。
输入实际参数的时候按照形式参数顺序依次写入,如果不按照顺序,则需要把参数名加上写入。
默认参数可以有默认值,输入实际参数的时候可以覆盖默认值。
动态参数通常写为‘*args‘和‘**kwargs‘两颗星号的放在后面,一颗星的参数算作一个tuple, 两颗星的算作一个dict。
函数外部的变量为全局变量,函数里面是局部变量,python内置的为内置变量。遵循local > global> built-in 的变量查找顺序。
为了便于区分,全局变量用全大写。在函数内如果需要使用全局变量,需要在变量前加上global。
1 def top_movies(num=5, *args, **kwargs): 2 print(num) 3 print(args) 4 print(kwargs) 5 6 rank = (0, 1, 2, 3, 4, 5) 7 keywords = { ‘1‘: ‘The Shawshank Redemption‘, ‘2‘:‘Fight Club‘, ‘3‘:‘Toy Stories‘, ‘4‘:‘Radio Rock‘, ‘5‘:‘Fantastic Mr. Fox‘} 8 9 top_movies(*rank, **keywords) 10 11 ‘‘‘ 12 运行后得到结果: 13 0 14 (1, 2, 3, 4, 5) 15 {‘1‘: ‘The Shawshank Redemption‘, ‘5‘: ‘Fantastic Mr. Fox‘, ‘2‘: ‘Fight Club‘, ‘3‘: ‘Toy Stories‘, ‘4‘: ‘Radio Rock‘} 16 参数第一个数字默认为num, 虽然是在rank这个tuple里面,剩余的几位为args,最后为kwargs。可见是严格按照指定参数顺序来的。 17 如果不在实参前加上‘*‘和‘**‘,输入的参数会默认为实际参数的第一个值。 18 ‘‘‘
Reference:
想不起来讲了什么内容的时候,参考一下老师的教学笔记
http://www.cnblogs.com/wupeiqi/articles/5453708.html
【Python全栈笔记】03 [模块二] 16-17 Oct 函数
标签:
原文地址:http://www.cnblogs.com/doble-bern/p/5972028.html