串讲1--变量(存取值问题)

变量

代替数据的设计思想
两个语法:取值(取出它代替的数据),存值(数据保存到这个标识符中)

思路

(如何看到一个变量就想到它是存值还是取值):

  1. =是一个运算符
    a.先执行它右边的代码(重点:运行完),产生一个结果(只有一个某种类型的数据)
    b.把这个结果赋值给等号左边的变量
    变量在=右边取值,=左边存值

  2. 成员访问
    一定是取值操作
    x[y]=10 y变量是x的成员(索引) y就是取值操作
    a=x[y] y变量是x的成员(索引) y就是取值操作

  3. 实参
    一定是取值操作
    fn(10)
    fn(a) # a变量是取值,取出它保存的数据 传入函数内部 不是把a传入了 是把a的值传入了
    a=fn(a) # 左a存值,右a取值
    x[fn(a)]=10 # a变量是取值,取出它保存的数据 传入函数内部 不是把a传入了 是把a的值传入了
    print(a+20) # a取值操作

  4. 形参
    一定是存值操作
    def fn(a=10): # a存值操作,存10
    pass
    =a
    a=
    fn(100) # 将100传入a,a更新覆盖为100

x=a(x)x # 左x存值,右第一个第二个第四个x取值操作,第三个x存值操作

存值
1. 如果变量已经存在了,就会更新它保存的数据==》变量只能保存一个数据 根据代码运行时间先后关系 可能发生变化;
2. 如果没有这个变量,就会在当前作用域创建/定义变量
取值
1. 如果变量存在,就直接取最近(时间)一次保存的值;
2. 变量不存在,就会在上一层作用域访问,没有继续在上上层访问,直到全局作用域还没有就报错

点击查看代码
x = 10
y = 20
x,y = y,x # 两次存取值
print(x,y)
# y,x取值,保存到开辟的元组内存空间中
# 按下标依次赋值

x = {"age":10}
age = 20
x = {age:30}
print(x)

a=x if y else z   # xyz都是取值

x(x)
posted @ 2026-07-10 20:21  桑年  阅读(2)  评论(0)    收藏  举报