• 00 Python的变量


    变量分类

      a、全局变量:在模块内、在所有函数外面、在class外面,这就是全局变量。

      b、局部变量:在函数内、在class的方法(构造、类方法、静态方法、实例方法)内(变量未加self修饰),这就是局部变量

      c、类变量:在class内的,但不在class的方法内的,这就是静态变量

      d、实例变量:在class的方法内的,用self修饰的变量,这就是实例变量

    版权声明:本节摘选自CSDN博主「叫我王员外就行」的原创文章
    原文链接:https://blog.csdn.net/cadi2011/article/details/52457754

    空变量(对象)

    需要定义一个变量(对象),但暂时不给它赋值时,使用None来给它赋值。

    name = None
    

      

    is运算符

    is 用于判断两个对象的所指向的内存地址是否一致,返回True或False

    is not 相反

    与==的区别:==用于判断两个变量的值是否相等

    局部变量

    在一个函数内部,在等号左边的变量都是局部变量!!!!即使这个变量看起来是全局变量(和全局变量同名)或全局变量作为形参传进来的!

    看下面:

    def travel():
        y = 0
        def walk(x):
            y += x #等号左边的y会被认为是局部变量,而作为局部变量它没有被初始化,所以会报错
            return y
        return walk
    结果:
    UnboundLocalError: local variable 'y' referenced before assignment

      解决方法:使用nonlocal关键字声明它不是局部变量,而是本函数的上一层函数中的局部变量(若上一层没有函数而是模块,则报错)。而且用nonlocal声明的变量不会改变外层的原来变量,却能记忆上次执行时它的值。我也很困惑。

  • 相关阅读:
    windows adb shell 乱码
    sqlite时间函数及时间处理
    .net资源实现多语言界面
    2013阿里巴巴实习生面试小结
    2013金山西居挑战赛初赛1—转自blog.csdn.net/asdfgh0308/
    不用+、-、×、÷数字运算符做加法—转自zhedahht.blog.163.com
    hash思想的应用转自www.cnblogs.com/huhuuu/
    面试智力题—转自blog.csdn.net/hackbuteer1
    Spring MVC 事务注解
    没有外键关联的 关系删除遍历判断
  • 原文地址:https://www.cnblogs.com/Scorpicat/p/11714756.html
Copyright © 2020-2023  润新知