变量分类

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

00 Python的变量的更多相关文章

  1. 配置python环境变量(转)

    默认情况下,在windows下安装python之后,系统并不会自动添加相应的环境变量.此时不能在命令行直接使用python命令. 1.首先需要在系统中注册python环境变量:假设python的安装路 ...

  2. python学习 变量的操作 与 基本数据类型

    一变量(本文使用python3.5): #变量:是计算机内存中的一块区域,变量可以存储规定范围内的值,变量可以改变#在python中变量是计算机内存中数据的引用 python的变量没有明显的类型,具体 ...

  3. python的变量传递

    python中变量都被视为对象的引用.python函数调用传递参数的时候,不允许程序员选择传值还是传引用,python参数传递采用的都是“传对象引用”的方式.     这种方式相当于传值和传引用的结合 ...

  4. Python中变量的作用域(variable scope)

    http://www.crifan.com/summary_python_variable_effective_scope/ 解释python中变量的作用域 示例: 1.代码版 #!/usr/bin/ ...

  5. Windows下python环境变量配置

    默认情况下,在windows下安装python之后,系统并不会自动添加相应的环境变量.此时不能在命令行直接使用python命令. 1. 首先需要在系统中注册python环境变量:假设python的安装 ...

  6. windows7下python环境变量配置

    默认情况下,在windows下安装python之后,系统并不会自动添加相应的环境变量.此时不能在命令行或cmd里直接使用python命令. 1. 首先需要在系统中注册python环境变量:假设pyth ...

  7. FAQ:Python环境变量配置

    Python安装安装成,需要配置环境变量: 默认情况下,在windows下安装python之后,系统并不会自动添加相应的环境变量.此时不能在命令行直接使用python命令. 1. 首先需要在系统中注册 ...

  8. python基础(2):python的变量和常量

    今天看看python的变量和常量:python3 C:\test.py 首先先说一下解释器执行Python的过程: 1. 启动python解释器(内存中) 2. 将C:\test.py内容从硬盘读入内 ...

  9. python __name__ 变量的含义

    python __name__ 变量的含义 if __name__ == '__main__': tf.app.run() 当python读入程序时,会初始化一些系统变量.如果当前程序是主程序,__n ...

随机推荐

  1. 01_tf和numpy的区别

    import numpy as npimport tensorflow as tf # 这里是为了演示numpy和tf的区别.np.random.seed(43) x_data = np.random ...

  2. useEffect 实现 componentWillUnmount生命周期函数(四)

    在写React应用的时候,在组件中经常用到componentWillUnmount生命周期函数(组件将要被卸载时执行).比如我们的定时器要清空,避免发生内存泄漏;比如登录状态要取消掉,避免下次进入信息 ...

  3. winddows rabbitmq安装与配置

    RabbitMQ是一个在AMQP协议标准基础上完整的,可复用的企业消息系统.它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,Rab ...

  4. Git 代码撤销、回滚到任意版本(当误提代码到本地或master分支时)

    转自https://www.cnblogs.com/lwh-note/p/9639835.html 两种情况(场景) 情况一      代码还只在本地,未push到运程仓库,想把代码还原到上一次com ...

  5. [译]如何将dataframe的两列结合起来?

    我用pandas生成了一个20 x 4000的dataframe.其中两列名为Year和quarter.我想创建一个名为period的变量,将Year = 2000和quarter = q2变为200 ...

  6. jenkins编译时文件存放的位置

    1.首先随便打包编译一下 2.查看编译执行的目录 [root@bogon ~]# ls /root/.jenkins/workspace/pipline-test/ CHANGE_LOGS.html ...

  7. keepalived通过飘移ip实现高可用配置步骤

    环境:两台虚拟机即可 centos7.3虚拟机A 10.0.3.46 centos7.3虚拟机B 10.0.3.110 对外开放的虚拟ip 10.0.3.96(这个ip只需要在keepalived里面 ...

  8. ELK之es常用查询语句

    参考:https://www.cnblogs.com/kyleinjava/p/10497042.html           https://blog.csdn.net/luanpeng825485 ...

  9. web端自动化——python多线程

    Python通过两个标准库thread和threading提供对线程的支持.thread提供了低级别的.原始的线程以及一个简单的锁.threading基于Java的线程模型设计. 锁(Lock)条件变 ...

  10. Appium移动自动化测试-----(十)appium API 之上下文操作

    其实上下文的操作主要针对于混合应用.啥是混合应用,简单来说就是APP用里面嵌入网页.Android上的浏览器就属于混合应用. 1.获取当前上下文 方法: getContext() 获取当前所有的可用的 ...