Python 变量

作者: 老黄爱Python | 来源:发表于2017-01-11 17:58 被阅读32次
Python中一切皆对象,这节主要内容如下:

1. 变量命名规则
2. 变量赋值
4. 变量与内存

1. 变量名

Python中变量名遵循下面规则:
1)字符或者下划线开头;
2)由字符和数字下划线组成;
3)变量名对大小写敏感;
4)不能和关键字重名(关键字:例如 if,while等);

正确变量名:x, y, _tmp1, tmp, check_flag;
错误变量名:1x,if, @s,
2. 变量赋值

Python是动态解释性语言,赋值时候不需要指定变量类型。

  • 变量赋值实质:
    1)创建对象;
    2)将变量名和对象进行绑定;
x = 10, 
如果10这个对象不存在,
python解释器创建对象10,
然后将x指向这个对象;
对象决定了类型,变量没有类型,只是一个指针;
  • 引用:变量赋值就是一个引用过程,赋值过程是变量名和对象进行绑定,变量名修改时进行解绑定;
    好处:当多个变量同时指向一个对象时,减小内存开销;
    坏处:增加了绑定和解绑定过程,消耗极少时间;

  • 变量赋值类型:
    1)直接赋值:
    x = 10
    2)增量赋值:
    x += 20
    3)多重赋值:
    x = y = z = 10
    4)多元赋值:
    x, y = 10, '10' 等于 x = 10, y = '10'

3. 变量与内存:
  • 变量和内存关系:
    1)定义两个变量x, y,赋予相同的整数值10,
    2)然后修改y的值,使用id方法观察变量指向地址变化;
>>> x = 10
>>> id(x)      #id方法:得到对象的地址
1351918976
>>> y = 10
>>> id(y)
1351918976
>>> id(10)
1351918976
>>> y=20
>>> id(y)
1351919296
>>> id(x)
1351918976
>>> 

从上面的例子中我们发现:
1:x,y同时指向变量10且内存地址是相同的;
2:当我们修改y值后,y指向地址发生变化;但是x没有变化;
需要注意,这种赋值方式只适用于占用内存较小的变量、字符串等,当我们是使用浮点做下实验就会得到不同结果,这与Python内存管理机制有关系:

>>> m = 3.14
>>> n = 3.14
>>> id(m)    # m和n的值形同,但是地址不同
2013662155904
>>> id(n)
2013662157488
>>> 
  • 内存回收机制:
    问:如果我们不断赋值,变量会不会太多导致内存不够?
    回答:当我们对变量进行赋值时,赋值对象的引用计数会加1,当我们修改变量或者变量作用域小时时候,引用计数减1,当对象的引用计数为0时,python解释器会释放这个对象,对内存进行回收。
总结:
掌握知识点:

1:变量命名规则
2:变量的赋值形式

了解知识点:

Python内存管理

相关文章

  • 1.1 python变量/输出/输入

    python版本:python 3.5.2注释符号:#发布时间:2018.10.26 一、变量 变量是什么? 变量...

  • Python变量和数据类型

    一. Python中的变量赋值 单变量赋值: 多变量赋值: 二. Python中的数据类型 Python有五个...

  • 第二章

    变量和简单类型 单行注释和多行注释 Python是弱类型语言 Python变量的特征 Python变量命名规则 P...

  • 2018-02-07

    python pickle模块:python变量及对象的序列化 1、pickle.dump 将python变量...

  • 3. python3语法

    python3变量 1 声明变量语法:标识符/变量名=变量值 2 变量的命名规范(1). 在 Python 里...

  • python vs. js 常用语法对比

    python vs. js 变量 pythonjavascript变量注释#''' '''///* */变量a =...

  • Python变量的存储

    Python变量的存储 在高级语言中,变量是对内存及其地址的抽象。 对于python而言,python的一切变量都...

  • 2. Python变量类型

    变量创建 Python中变量创建比较简单, 如:变量名 = 变量值 根据上面的内容可以得出,Python中变量的类...

  • 03 Python环境变量部署和包管理工具安装

    Python环境变量部署 我们安装完Python后会得到python.exe python脚本的环境变量pyt...

  • Python的注释和变量的命名规则

    python 注释 python 变量命名规则

网友评论

    本文标题:Python 变量

    本文链接:https://www.haomeiwen.com/subject/kgpkbttx.html