为了账号安全,请及时绑定邮箱和手机立即绑定

【python】坑都是踩出来的

1)本地变量被调用时必须提前申明

123456789101112131415161718192021= 12 def f1():    = 3    print x def f2():    += 1  #函数内部遇到变量赋值,此处为x = x+1,x会被当做局部变量,但是f2()内部是没有定义的,因此会报错    print x f1()  #输出3f2()  #报错,由于x没有被声明  #修改如下def f2():    global x    += 1    print x     f2()  #输出13

2)函数(包括闭包)中局部变量

123456789101112131415161718python中,一个函数可以随意读取全局变量,但是要修改全局变量的时候只有两种方法:1 global声明全局变量  2 全局变量是可变数据类型数据 1)python闭包函数中,我们可以随意使用外函数绑定来的临时变量,但是如果我们想修改外函数的临时变量数值会报错.2)使用闭包时,一旦外函数被调用一次返回内函数的引用,虽然每次调用内函数,是开启一个函数执行过后消亡,但是闭包变量实际上只有一份,每次开启内函数都在使用同一份闭包变量 def counter(start_at=0):    count = start_at    def incr():        count += 1        return count    return incr def counter(start_at=0):    count = [start_at]    def incr():        count[0+= 1        return count[0]    return incr


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消