相信玩过Python的都知道,Python的变量是不需要定义的,其他语言在定义变量方面真的经常会出错,导致经常要排查很久。所以这也是Python的一个大特色,可是大家知道为什么是不需要定义就直接赋值的吗?真的是把该值赋给变量了吗?答案不是的。
大家看看下面一段代码:
a = 10
b = 20
a,b = b,a
输出:20,10
这样子的操作只有python可以,比如b是函数也一样,字符串也一样,都可以直接这样子操作,这是为什么呢?
因为 Python是变量跟值在两个不同的内存当中,这跟c语言的链表类似,a的内存指向了10的内存,意思就是a是存了10的地址,b也雷同,那么赋值时是相当于把a,b的内存的指向变化而已,所以无论是什么类型都是可以的。
实际上是下图这样子存储的。
image.png
网友评论