Python对象类型(三)变量
一、变量的定义
1.1 定义
变量是对对象的引用,变量名和对象实体都会使用一个内存空间存储起来。
例如:值“10”是一个数字对象,我们通过a=[10];b=[10]
将10作为序列a和b的元素,其实是创建了两个不同的id的变量名用链接指向了“10”这个数字对象。(需要注意的是,对于数值大小和字符串长度不同的值python的存放策略不同)
>>> a=[10]
>>> b=[10]
>>> id(a[0])
31226768
>>> id(b[0])
31226768
>>> id(a)
140019672534984
>>> id(b)
140019672495672
1.2 变量的作用
- 方便阅读
- 方便调用对象
- 可以方便写出更复杂代码
1.3 变量的特征
- 无需声明变量(动态语言),变量在第一次进行赋值的时候被创建并存储在内存中。
- 但是变量在使用之前必须赋值。
- 若变量没有指向对象,则在一段时间后会被回收。
二、操作变量的方式
2.1 变量赋值
2.1.1 形式
变量=对象,也就是var=value
。
2.1.2 命名规则
- 长度不受限。
- 由字母、数字和下划线组成,不支持其他特殊符号如(空格、连字符等)。
- 变量名的第一个字符不能是数字。
- 区分大小写。
- 不能用保留字作为变量名
and 用于表达式运算,逻辑与操作
as 用于类型转换
assert 断言,用于判断变量或条件表达式的值是否为真
break 中断循环语句的执行
class 用于定义类
continue 继续执行下一次循环
def 用于定义函数或方法
del 删除变量或者序列的值
elif条件语句 与if else 结合使用
else条件语句 条件语句,与if,elif结合使用。也可以用于异常和循环使用
exceptexcept 包括捕获异常后的操作代码,与try,finally结合使用
exec 用于执行python语句
for循环语句
finally用于异常语句,出现异常后,始终要执行finally包含的代码块。与try,except结合使用
from用于导入模块,与import结合使用
global定义全局变量
if条件语句,与else,elif结合使用
import用于导入模块,与from 结合使用
in判断变量是否存在序列中
is判断变量是否为某个类的实例
lambda定义匿名函数
not用于表达式运算,逻辑非操作
or用于表达式运算,逻辑或操作
pass空的类,函数,方法的占位符
print打印语句
raise异常抛出操作
return用于从函数返回计算结果
try包含可能会出现异常的语句,与except,finally结合使用
while循环语句
with简化Python的语句
2.1.3 变量赋值
- 普通赋值
a=123;b=True;c='hello,world;d=[1,2,3]'
- 多重赋值
a,b,c=1,2,3
- 交叉赋值
a=123;b=a
通过交叉赋值后,两个变量在没有重新进行赋值的情况下,id号是相同的
>>> a=10
>>> b=a
>>> id(a)
31226768
>>> id(b)
31226768