python初体验-函数(2)
一、函数的多参数 在学函数的定义时,我们知道了函数名后英文括号内的是函数的参数。就像咖啡机要加咖啡豆和水两个输入一样,Python 中函数的参数个数也非常灵活,支持 0 到多个参数。如果没有参数,括号内就空着,如果有多个参数,每个参数用英文逗号隔开。 Python 中的参数按传入方式分为两种:
位置参数位置参数,顾名思义就是按位置来给参数赋值。 def func(name,age,height,weight): print(‘name =‘,name) print(‘age =‘,age) print(‘height =‘,height) print(‘weight =‘,weight) func(‘小陈‘,18,‘165cm‘,‘50kg‘)
在上述代码中,按参数定义的位置一一赋值。调用函数后,name 的值为小贝,age 的值为 18,height 的值为 155cm,weight 的值为 40kg。 关键字参数在位置参数中,我们需要记得定义函数时每个位置对应的参数是什么,从而在调用函数时按正确的顺序传入参数,而关键字参数可以减轻我们记忆的负担。 def func(name,weight)
func(age = 18,weight = ‘50kg‘,name = ‘小陈‘,height = ‘165cm‘)
# 小陈已经不再长高了,我们可以设置身高默认为 165cm def func(name,weight,height = ‘165cm‘): print(‘name =‘,weight) # 调用函数时可以省略 height 参数 func(‘小陈‘,‘40kg‘) # 如果小陈哪天奇迹般地又长高了,我们也可以给 height 重新赋值 func(‘小陈‘,‘40kg‘,‘168cm‘)
三、函数的变量作用域
value = ‘我是全局变量‘ def func1(): value = ‘我是局部变量‘ print(value) def func2(): print(value) def func3(value): print(value) func1() func2() func3(‘我也是局部变量‘) print(value)
运行结果:
在 Python 中变量作用域分为 全局作用域 和 局部作用域 两种,分别对应了 全局变量 和 局部变量。简单来说就是:函数内定义的变量是 局部变量,函数外定义的变量是 全局变量。 总的来说,Python 会优先在局部作用域内寻找变量,找不到再去外层的全局变量寻找,如果都找不到则报 NameError 的错误。 当然!只需要在局部变量前加上 global 关键字,全局作用域即可访问局部作用域的变量,看个例子:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |