<span >def
fun(x=3,y=<span >'<span >甜<span >'<span >):<span >print <span >'<span >生成一个<span >',x,<span >'<span >元<span >',y,<span >'<span >口味的蛋糕<span >'<span >
fun()
fun(10<span >)
fun(y=<span >'<span >奶油<span >')
冗余参数:
<span >def
f(name=<span >"<span >jim<span >",age=20<span >):<span >print <span >"<span >name:%s age:%s<span >" %<span > (name,age)
t=(<span >'<span >tom<span >',25<span >)
d={<span >'<span >age<span >':25,<span >'<span >name<span >':<span >'<span >lucy<span >'<span >}
f(*<span >t)
<span >#<span >name:tom age:25
<span >
f(**<span >d)
<span >#<span >name:lucy age:25
<span >def f1(x,*<span >args):
<span >print<span > x,args
t1=(<span >'<span >tom<span >',25,<span >'<span >male<span >'<span >)
f1(*<span >t1)
<span >#<span >tom (25,'male')
<span >def f2(x,**<span >args):
<span >print<span > x,args
d1={<span >'<span >x<span >':1,<span >'<span >y<span >':2<span >}
f2(**<span >d1)
<span >#<span >1 {'y':2}
<span >def f3(x,*arg1,**<span >arg2):
<span >print<span > x
<span >print<span > arg1
<span >print<span > arg2
f3(1,2,3,a=1,b=2,c=3<span >)
<span >#<span >1<span >
当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是局部的。这称为变量的作用域。所有变量的作用域是它们被定义的块,从它们的名称被定义的那点开始。
a = 1def fun(a): print a a = 2 print afun(x)
print a
结果:
121解释:
在函数中,我们第一次使用a的值的时候,Python使用函数声明的形参的值。
接下来,我们把值2
赋给a。a是函数的局部变量。所以,当我们在函数内改变a的值的时候,在主块中定义的a不受影响。
在最后一个print
语句中,我们证明了主块中的a的值确实没有受到影响。
如果你想要为一个定义在函数外的变量赋值,那么你就得告诉Python这个变量名不是局部的,而是全局的,我们使用global
语句完成这一功能。
fun()
print a
输出:
122解释:
global
语句被用来声明a是全局的——因此,当我们在函数内把值赋给a的时候,这个变化也反映在我们在主块中使用a的值的时候。
以上是内存溢出为你收集整理的python学习笔记三:函数及变量作用域全部内容,希望文章能够帮你解决python学习笔记三:函数及变量作用域所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)