python最基本的数据掌握

python初学者可能会对list数据类型和int或者是字符串数据类型比较迷茫  list是引用,是指向的一个内存地址, 变量不是引用的

啥也不说上解释:

a = 1
b = a
a = 2
print(a)

结果:啥也不说肯定是2了

那么我打印b的话

a = 1
b = a
a = 2
print(b)

结果就是:1

为什么呢?

因为a = 1, 然后我把a的数据赋值给了变量b 然后赋值之后我又给a重新赋值 a = 2 那么b = 1, 因为这个数据不是存在系统内存里面的,很简单你除非再给变量b重新赋值

字符串类型也会这样, 因为这两个类型是把数据存在变量里面的,举例说: 张三有100块钱 然后张三把100给了李四, 然后这时候李四也有100块钱了, 再然后张三又有了200块钱,那肯定不可能张三把这刚刚有的200,直接性的给李四, 除非,张三在给李四一次2300块钱

 

接下来说说list类型

list数据是存在计算机内存中的, 

你比如,[1,2,3,4,5[1,2,3],7,8,9] 第一层的数据list是直接在内存中展现出来的, 而第二次呢,可以理解为一个a链接, 第二层的数据是内存中的一个链接, 只有你去第二层的数据的时候才会在内存中直接展现出第二层的数据, 计算机默认指针是指向第一层的, 就像a链接, 文章中有个a链接, 只显示这个a链接的标题, 只有你点击的时候, 指针才会指向这个a链接里面的数据展现出来

代码:

a = ["OPPO","VIVO","IPHONE","LEVOVO"]
b = a
a[0] = "品牌"
print(b)

结果:['品牌', 'VIVO', 'IPHONE', 'LEVOVO']

因为:list是存在内存中的, 你修改的不是简单表面的变量的数据,你修改的是内存里的数据

a = ["OPPO","VIVO","IPHONE","LEVOVO"]
b = a
b[0] = "OPPO"
print(b)

结果:['品牌', 'VIVO', 'IPHONE', 'LEVOVO']

 

python中只有int和字符串类型不会存在计算机内存中, 其它数据都会存在内存中, list是引用,是指向的一个内存地址

posted @ 2018-04-02 21:21  Makes一生  阅读(205)  评论(0编辑  收藏  举报