Python函数Day2

Python中的全局变量也是在函数之外,函数里面的为局部变量。局部变量只在函数内有效,出了函数以为无法访问。例如:

def test():

a=5

print(a)--->会报错a is not defined,a为局部变量函数之外无法访问。函数内可以访问全局变量


b=5

def test():

a=b

print(a)--->5

Python中在局部中无法改变全局变量的值,只能用全局变量的值,如果在局部中给全局变量赋值,Python只是在局部中再创建了一个

跟全局变量相同的名字的局部变量。 例如:

a=10

def    test():

情况1: a=5

print(a)--->5 这个只是新建的一个局部变量

print(a)----->没有改变还是为10


情况2: global a=5;

print(a)-->5 此时由于在局部中显示声明a为全局变量,所以此时的a不是默认创建的局部变量

print(a)--->5


Python中函数可以内嵌一个函数,

def   test():

a=5

print(a)-->5

def test1():

情况1: a=6

print(a)--->6

test()1--->6

print(a)--->5

情况2:nonlcal a

a=6 //在此声明这个a不为内部函数的局部变量,这样是改变外部函数的变量给其重新赋值

print(a)--->6

test()1--->6

print(a)--->6

内嵌函数可以引用它的外部函数中的变量,但是也不能改变外部函数变量的值(跟全局变量和局部变量类似)


函数闭包:

>>> def te(x):
def tes(y):
return x*y //在内嵌函数中使用外部参数x进行计算 此为闭包
return tes


>>> i=te(2)
>>> 
>>> type(i)
<class 'function'>
>>> i(6)
12

Python中如果一次要返回多个类型的值,可以将这些值封装到列表或者元祖 然后返回。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值