码迷,mamicode.com
首页 > 编程语言 > 详细

python基础(第六天)

时间:2019-01-17 22:43:00      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:符号   编码   内存地址   学习   ...   opened   空间   字符串   str   

今天主要对前段时间学习的知识进行总结,有以下几个地方需要注意:

1、=、==、is和id()的区别:

1> =:赋值

技术分享图片
1 # a = 10
2 # b = a
3 # print(id(a))  # 140703939409008
4 # print(id(b))  # 140703939409008
5 # print(a is b)  # True
View Code

2> ==:比较运算符,比较的是值是否相等

技术分享图片
 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 >>>
View Code

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"x\e91\e85\e88\e99\e83\e86"

     编码方法: 0101 uft-8/gbk...

在文件操作中,需要将str转化为bytes类型,转化方法为:str.encode("uft-8").

python基础(第六天)

标签:符号   编码   内存地址   学习   ...   opened   空间   字符串   str   

原文地址:https://www.cnblogs.com/eric818/p/10284727.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!