【python基础】—函数def()的定义与调用、参数、return返回值及变量作用域
后台-插件-广告管理-内容页头部广告(手机) |
文章目录
- 定义函数:def()语句
- 调用函数:输入函数名和参数对应的值
- 参数
- return 返回值
- 变量作用域
定义函数:def()语句
语法:
def 函数名(参数1,参数2,.....,参数n): 函数体 return 语句- 1
- 2
- 3
举例:
def hello(name): print(name+"Good morning!") return- 1
- 2
- 3
上面我们定义一个名字为hello的函数,括号内部是函数接收的参数name,紧接着就是函数的功能代码。
调用函数:输入函数名和参数对应的值
def hello(name): print(name+"Good morning!") return- 1
- 2
- 3
- 1
多次调用
hello("lily,") hello("Mike,")- 1
- 2
参数
- 位置参数
- 1
- 2
- 3
- 4
这里的"手拍黄瓜"和"大米饭"是对应参数appetizer和course的位置顺序传递的,所以被叫作位置参数,这也是最常见的参数类型。
- 默认参数
注意: 默认参数必须放在位置参数之后
- 1
- 2
- 3
- 4
- 5
默认将"西瓜"传递给dessert,调用时无须再传递。
但是默认参数也会改变的,比如像下面python会自动将"银耳羹"传递给参数dessert。
menu("手拍黄瓜","大米饭","银耳羹")- 1
- 不定长参数:一个星号*加上参数名
- 1
- 2
- 3
- 4
barbeque输出的是数据类型是元组,可以用for循环来迭代输出。代码如下:
def menu(appetizer,course,dessert,*barbeque): print("一份开胃菜:"+appetizer) print("一份主菜:"+course) print("一份甜品:"+dessert) for i in barbeque: print("一份烤串:"+i) menu("手拍黄瓜","大米饭","西瓜","烤茄子","烤大肠","烤玉米")- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
return 返回值
def wqf_album(a): if a==1: return "太空人" elif a==2: return "册页一与一" elif a==3: return "马拉美的星期二" else: return "敬请期待吴青峰第四张专辑!" wqf_album(1)return是返回值,当你输入参数给函数,函数就会返回一个值给你。事实上每个函数都会有返回值。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 1、如果不是立即要对函数返回值做操作,那么可以使用return语句保留返回值。
类似这种多个函数相互配合的代码中,我们就会非常需要return语句,来帮我们先保留某个函数的返回值,等要用到的时候再调出来用。
def face(name): return name+"!" def body(congratulations): return congratulations+"~" face("吴青峰") body("祈愿你永远平安安康,自在快乐") print(face("吴青峰"),body("祈愿你永远平安安康,自在快乐"))- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-
2、需要多次调用函数时,可以再定义一个目标主函数main(),调用非主函数的返回值。
-
3、return可以接受一次多个返回,而且多个返回值的数据类型就是元组。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 4、没有return语句的函数会默认返回None值。
- 1
- 2
- 3
- 4
- 5、一旦函数内部遇到return语句就会停止执行并返回结果。
- 1
- 2
- 3
- 4
- 5
变量作用域
定义一个函数时,理解函数中变量的作用域
- 局部变量:在一个函数内定义的变量仅能在函数内部使用(局部作用域)。
- 全局变量:在所有函数之外赋值的变量,可以在程序的任何位置使用(全局作用域)。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
当变量处于被定义的函数内时,就是局部变量,只能在这个函数内被访问;当变量处于被定义的函数外时,就是全局变量,可以在程序中的任何位置被访问。注意: 尽量局部变量与全局变量不要同一个命名。
- global语句,可以将局部变量转变为全局变量。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
运行结果1:
运行结果2:
运行结果3:
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。
在线投稿:投稿 站长QQ:1888636
后台-插件-广告管理-内容页尾部广告(手机) |