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

python中一些小的知识点

时间:2018-07-08 23:40:54      阅读:329      评论:0      收藏:0      [点我收藏+]

标签:gbk   div   python3   行存储   span   内存   方式   pytho   相同   

1:只有数字,字符串有小数据池

小数据池:在一定范围内,即使分别给两两个变量赋相等的值,它们的id地址还会是相同的

数字范围: -5 ~ 256

字符串:1:不能有特殊字符

     2:str*20 还是同一个地址,str*21就不是同一个地址

 

2:编码

ascll: 

  A: 00000001  8位  一个字节

unicode:

  A: 00000001   00000001   00000001   00000001  32位  四个字节

  中: 00000001   00000001   00000001   00000001  32位  四个字节

utf-8: 

  A: 00000001  8位  一个字节

  中: 00000001   00000001   00000001  24位  三个字节

gbk:

  A: 00000001  8位  一个字节

  中:00000001   00000001  16位  两个字节

1:各个编码之间的二进制是不能相互识别的,会产生乱码

2:文件的储存,传输,不能是unicode,只能是其他几种

 

3.python3中的编码

1:python3中str在内存中是用unicode编码的

2:bytes类型:str进行存储和传输需要用到

3:表现形式与编码方式:

             对于英文

            str:表现形式:s = ‘python‘

               编码方式:00000...  unicode

            bytes:表现形式:s = b‘python‘

                编码方式:0000...  utf-8, gbk等 

1 s = python                                            
2 s1 = bpython                                          
3                                                         
4 print(s,type(s))    # 输出结果:  python <class ‘str‘>       
5 print(s1,type(s1))  # 输出结果:  b‘python‘ <class ‘bytes‘>  

                                   对于中文:

            str:表现形式:s = ‘中国‘

               编码方式:00000...  unicode

            bytes:表现形式:s = b‘x\e23\e34\e65\e32\e90\e67‘

                编码方式:0000...  utf-8, gbk等 

1 s = 中国                                                                                                             
2 s1 = b中国                                                                                                           
3 print(s,type(s))                                                                                                     
4 print(s1,type(s1))         #输出结果:     File "C:/Users/XZB/PycharmProjects/s1/day5/第一次考试试题.py", line 133               
5                            #              s1 = b‘中国‘                                                                 
6                            #                  ^                                                                      
7                            #          SyntaxError: bytes can only contain ASCII literal characters.                  
8                                                                                                                      

4.如何将str编码成bytes?

 1 #英文                                                                                     
 2 s = python                                                                            
 3 s1 = s.encode(utf-8)                                                                  
 4 s2 = s.encode(gbk)                                                                    
 5 print(s1,s2)                #输出结果:b‘python‘ b‘python‘                                   
 6                                                                                         
 7 #中文                                                                                     
 8 s = 中国                                                                                
 9 s1 = s.encode(utf-8)                                                                  
10 s2 = s.encode(gbk)                                                                    
11 print(s1,s2)                #输出结果:b‘\xe4\xb8\xad\xe5\x9b\xbd‘ b‘\xd6\xd0\xb9\xfa‘       
12                                                                                         

 

python中一些小的知识点

标签:gbk   div   python3   行存储   span   内存   方式   pytho   相同   

原文地址:https://www.cnblogs.com/rcat/p/9281748.html

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