Python变量用法详解
变量用于存储程序中使用的各种数据,对应于计算机内存中的一块区域。变量通过唯一的标识符(即变量名)来表示,并且可以通过各种运算符对变量的值进行操作。
Python 是一种动态类型的编程语言,不需要显式地声明变量的数据类型,可以直接对变量赋值,然后在程序中使用它。
Python 中的所有数据均被抽象为对象,通过赋值语句将变量指向特定的对象,使变量与对象关联起来。当对变量重新赋值时,并不会修改对象的值,而是重新创建一个对象并使其与变量关联起来。因此,在 Python 中,对于同一个变量可以先后使用不同的数据类型对其进行赋值。
变量是在首次使用赋值语句对其赋值时创建起来的。赋值语句的一般语法格式如下:
变量中存放的并不是该数据对象的值,而是该数据对象的内存地址。这种通过内存地址间接访问数据对象的方式称为引用。使用内置函数 id() 可以获取由变量引用的内存地址。
通过变量之间的赋值可以使两个变量引用相同的对象,而使用身份运算符 is 则可以判定两个变量是否引用了同一个对象。
创建变量时,操作系统将为变量分配内存空间。对于已经存在的变量,可以使用 del 运算符将其删除,以释放所占用的内存空间。
例如:
在实际应用中,还可以根据需要对变量进行类型转换,此时将产生一个目标类型的新对象。变量的类型转换可以通过下列类型转换函数来实现。
例如:
Python 是一种动态类型的编程语言,不需要显式地声明变量的数据类型,可以直接对变量赋值,然后在程序中使用它。
Python 中的所有数据均被抽象为对象,通过赋值语句将变量指向特定的对象,使变量与对象关联起来。当对变量重新赋值时,并不会修改对象的值,而是重新创建一个对象并使其与变量关联起来。因此,在 Python 中,对于同一个变量可以先后使用不同的数据类型对其进行赋值。
变量是在首次使用赋值语句对其赋值时创建起来的。赋值语句的一般语法格式如下:
变量=表达式
在上述语法中,等号(=)称为赋值号;赋值号左边必须是变量,其右边则为表达式。进行赋值操作时,首先计算表达式的值并创建一个数据对象,然后使变量指向该数据对象。变量中存放的并不是该数据对象的值,而是该数据对象的内存地址。这种通过内存地址间接访问数据对象的方式称为引用。使用内置函数 id() 可以获取由变量引用的内存地址。
通过变量之间的赋值可以使两个变量引用相同的对象,而使用身份运算符 is 则可以判定两个变量是否引用了同一个对象。
创建变量时,操作系统将为变量分配内存空间。对于已经存在的变量,可以使用 del 运算符将其删除,以释放所占用的内存空间。
例如:
x=123 print("变量x\n\t引用的值:",end="") print(x) print("\t内存地址:",end="") print(id(x)) print("\t数据类型:",end="") print(type(x)) x="Python" print("变量x\n\t引用的值:",end="") print(x) print("\t内存地址:",end="") print(id(x)) print("\t数据类型:",end="") print(type(x)) y=x print("变量y\n\t引用的值:",end="") print(y) print("\t内存地址:",end="") print(id(x)) print("\t数据类型:",end="") print(type(y)) if x is y: print("变量x和y引用的是相同的对象")运行结果为:
变量x
引用的值:123
内存地址:18745376
数据类型:<class 'int'>
变量x
引用的值:Python
内存地址:19757056
数据类型:<class 'str'>
变量y
引用的值:Python
内存地址:19757056
数据类型:<class 'str'>
变量x和y引用的是相同的对象
在实际应用中,还可以根据需要对变量进行类型转换,此时将产生一个目标类型的新对象。变量的类型转换可以通过下列类型转换函数来实现。
- int():用于将其他数据类型转换为整数。
- float():用于将其他数据类型转换为浮点数。
- round():用于按“四舍六入五留双”的规则将浮点数转换为整数。例如,round(1.23) 的值为 1,round(1.5) 和 round(2.5) 的值均为 2。
- str():用于将其他数据类型转换为字符串。
- bool():用于将其他数据类型转换为布尔型,其转换规则是将数字 0 和空字符串转换为 False,将所有非 0 数字和非空字符串转换为 True。
- chr()和ord():用于在整数与字符之间进行相互转换。chr() 函数是按 ASCII 码将一个整数转换为对应的字符,ord() 函数则将字符转换为对应的 ASCII 码或 Unicode 码。
例如:
# 定义变量x x = 123.456 # 打印变量x并转换为整数 print("变量x\n\t转换为整数:", end="") print(int(x)) # 打印四舍五入后的x print("\t四舍五入:", end="") print(round(x)) # 打印变量x并转换为字符串 print("\t转换为字符串:", end="") print(str(x)) # 打印变量x并转换为布尔值 print("\t转换为布尔值:", end="") print(bool(x)) # 定义变量y y = "A" # 打印变量y和它的ASCII码 print("变量y\n\t字符:", end="") print(y) print("\tASCII码:", end="") print(ord(y)) # 定义变量z z = "汉" # 打印变量z和它的Unicode码 print("变量z\n\t字符:", end="") print(z) print("\tUnicode码:", end="") print(ord(z))运行结果为:
变量x
转换为整数:123
四舍五入:123
转换为字符串:123.456
转换为布尔值:True
变量y
字符:A
ASCII码:65
变量z
字符:汉
Unicode码:27721