python基础(第六天)
Posted eric818
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础(第六天)相关的知识,希望对你有一定的参考价值。
今天主要对前段时间学习的知识进行总结,有以下几个地方需要注意:
1、=、==、is和id()的区别:
1> =:赋值
![技术分享图片](/img/jia.gif)
1 # a = 10 2 # b = a 3 # print(id(a)) # 140703939409008 4 # print(id(b)) # 140703939409008 5 # print(a is b) # True
2> ==:比较运算符,比较的是值是否相等
![技术分享图片](/img/jia.gif)
1 >>> a = 1000 2 >>> b = 1000 3 >>> print(id(a)) 4 1710276102032 5 >>> print(id(b)) 6 1710276523504 7 >>> print(a is b) 8 False 9 >>> print(a == b) 10 True 11 >>>
3> is:判断的是内存地址是否相同
4> id():计算内存地址
注意:由于数字和字符串有小数据池的概念,上述四个符号运算的结果可能不是定义中的结果,其它如列表、元祖、字典等没有小数据池的概念,运算结果为定义中的结果。
2、编码方式:
1>ascii:8位,一个字节;
2>unicode:32位,无论英文还是中国,都是四个字节,占用空间太大,python3中的str在内存中默认使用unicode编码;
3>utf-8: 一个英文一个字节,一个中文三个字节;
4>gbk: 一个英文一个字节,一个中文两个字节,中文不够用
注意:文件的存储和传输不能用unicode编码,因此,字符串str需要将其转化为bytes后方可进行存储和传输。
对于英文:
str: 表现形式:s = "abc"
编码方式:0101 unicode
bytes: 表现形式:s = b"abc"
编码方式:0101 utf-8/gbk...
对于中文:
str: 表现形式:s = "中国"
编码方式:0101 unicode
bytes: 表现形式:s = b"xe91e85e88e99e83e86"
编码方法: 0101 uft-8/gbk...
在文件操作中,需要将str转化为bytes类型,转化方法为:str.encode("uft-8").
以上是关于python基础(第六天)的主要内容,如果未能解决你的问题,请参考以下文章