继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【九月打卡】第1天Python第五章变量与运算符

我是香皂皮皂
关注TA
已关注
手记 39
粉丝 0
获赞 5

课程名称:全面系统Python3.8入门+进阶(程序员必备第二语言)

课程章节:5-3 值类型与引用类型

主讲老师:7七月

课程内容:

今天学习的内容包括:

值类型与引用类型

课程收获:

type = 1

type (1)

-------#报错

http://img1.sycdn.imooc.com/6315a9d400010a4907840331.jpg

原因:我们现在把type当做一个变量,然后我们又把整形的数字赋值给了type,根据变量的基本规则,现在这个type是int的数据值。

然后又把一个int类型的变量当做方法来调用,就不对了。

上面的等同于:

1(1)   --------------#报错

http://img4.sycdn.imooc.com/6315a9e30001876208030424.jpg

int    值类型

list   引用类型

http://img1.sycdn.imooc.com/6315a9eb000117e204580123.jpg

a = 1   #用一个变量a指向整形数字1

http://img1.sycdn.imooc.com/6315a9f00001fe8603820195.jpg

b = a   #表明b同样指向数字1

http://img4.sycdn.imooc.com/6315a9f50001290503580212.jpg

a = 3  #把数值3赋值给a ,a就指向了数值3

此时b依然指向数字1

http://img4.sycdn.imooc.com/6315a9fa0001fc5905180093.jpg

a = [1,2,3]

http://img1.sycdn.imooc.com/6315a9ff0001d20904760201.jpg

b = a

http://img2.sycdn.imooc.com/6315aa040001dc3705420256.jpg

a[0] = '1'         #相当于  a = ['1',2,3]

这个流程并没有让a指向一个新的列表,只是把原来的列表做了改变。这就导致了b所指向的这个列表发生了改变。

此时b所指向了一个新的list。


引用类型和值类型的区别:对于引用类型来说,他本身的数值是可以改变的,他并没有像我们值类型一样。

当你去改变变量a的时候他生成了一个新的数值,他是在你原来的基础上做了改变,也就是说:

引用类型是可变的,但是值类型是不可变的。

值类型:  int  str tuple(元组)  # 不可变


引用类型: list(列表)   set(集合)  dict(字典) #可变

a = 'hello'

a = a + 'python'

print(a)

-----hellopython

#  因为a + 'python',产生了一个新字符串,并不是原来的那个字符串。

id( )   # 现实某一个变量在内存里面的地址

b = 'hello'

id(b)

------55399200

b = b + 'python'

id(b)

------55336696

由此可以证明这2个字符串相加之后,得到了一个新的字符串。自然就不会违背字符串不可改变这样一个原则。


http://img1.sycdn.imooc.com/6315aa1600015f5c17150956.jpg


打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP