Python 变量常量
变量相关
定义使用
变量就是计算机用来记录事物状态变化过程的东西,这里最主要的一点就是变,它是允许变化的。
绝大部分的编程语言关于变量的定义都分为三部分:

以下示例中,将演示如何准确的为一个变量进行赋值。
name = "yunya" # 记录姓名
age = 18 # 记录年龄
height = 1.92 # 记录身高
当变量命名完成之后,则可进行使用,一定要记住变量必须先定义后使用。
name = "yunya"
age = 18
height = 1.92
print("这位同学的名字是%s,\n他的年龄是%d,\n他的身高是%d米."%(name,age,height))
如果进行在变量为进行定义时使用,则会抛出异常。
print("这位帅哥的名字是:",name)
name = "yunya"
# NameError: name 'name' is not defined
命名规范
下面是一些变量的命名规范:
变量名应当见名知意
变量名由数字,字母,下划线组成。并且开头不能为数字。
变量名不能使用Python中的关键字(关键字:是指某些具有特殊功能的单词,如break)
错误的示范:
$name = 'yunya' # 具有特殊字符
1year = 365 # 数字开头
*_size = 1024 # 具有特殊字符
and = 123 # 使用了关键字
年级 = 3 # 强烈不建议使用中文(占用内存大
(color) = 'red' # 虽然这种命名方式可行但是也极为不推荐
正确的示范:
name = 'yunya'
__age = 18 # Python中 双下划线开头的变量名一般有隐私的这种说法
page_1 = '首页'
命名风格
下面介绍几种常用的变量命名方式:
YunyaAge = 18 # 驼峰式 (驼峰式在Python中并不常用但是也并非完全不能使用,风格因人而异)
yunya_name = "云崖" # 小写加下划线 (Python中更推荐使用的变量命名方式)
myClass = "三年级二班" # Camel标记法 (首字母是小写的,接下来的字母都以大写字符开头。)
sMyClass = "三年级一班" # 匈牙利类型标记法 (前面的小写字母为变量类型)
常量相关
常量定义
常量用于存储一些不允许被改变的值,比如PI,3.1415926535897... 再比如人眼睛的个数总是2个一样。这些都可以使用常量来进行存储,但是很遗憾Python自带的数据类型中没有常量这一说法。故在Python中有一个约定的章法,对于一些常量的值。在命名方式上会采取全部大写的方式。
常见的一些场景:
PI = 3.1415926535897 #圆周率
NUM_OF_EYES = 2 #眼睛个数
SEX = "男" #性别
赋值相关
赋值操作
进行赋值操作后,Python解释器内部做了那些事情?
name = "yunya" # 记录姓名
age = 18 # 记录年龄
height = 1.92 # 记录身高
当Python解释器进行逐行解释到有赋值操作时,会在内存空间(堆内存)中申请一块地方存放该变量值,并且会在内存空间(栈内存)中申请一块地方存放该值的标识符即变量名。再将标识符和值的内存地址做一个绑定(不是双向唯一性,而是一对多。一个变量值可以被多个变量名引用,一个变量名只能绑定一个内存地址),这种绑定的关系也存在于栈内存,可以这么理解,变量名存储的并非变量值,而是变量值的内存地址。

多次赋值
当一个标识符进行多次赋值操作,他会将原本绑定的内存地址进行解绑,在与新的内存地址进行绑定。
而旧的值则会被垃圾回收机制进行回收。
x = 1
x = 2
print(x) # 2

相关方法
id()
使用id()函数可拿到标识符在内存中对应值的地址号。
name = "yunya"
print(id(name)) # 2933298725640
type()
使用type()函数可获取到该标识符对应的值的数据类型。
name = "yunya"
print(type(name)) # <class 'str'>
del
使用del跟上标识符名字,将对该标识符所关联的内存地址进行解绑操作,同时也会取消该标识符的定义。
name = "yunya"
del name
print(name) # NameError: name 'name' is not defined

浙公网安备 33010602011771号