zoukankan      html  css  js  c++  java
  • 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声明的变量不会改变外层的原来变量,却能记忆上次执行时它的值。我也很困惑。

  • 相关阅读:
    Unobtrusive Ajax
    Asp.Net Web API 2(入门)第一课
    c# in depth之泛型的实现
    ASP.NET MVC 單元測試系列
    菜单栏
    【C++ 中文手册】即将完成
    AspNet MVC3中过滤器 + 实例
    虚拟机安装Linux中常见异常及解决办法
    webbrowser打开新窗口事件+=
    Java Bad version
  • 原文地址:https://www.cnblogs.com/Scorpicat/p/11714756.html
Copyright © 2011-2022 走看看