python中一些小的知识点

Posted 铁子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中一些小的知识点相关的知识,希望对你有一定的参考价值。

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‘xe23e34e65e32e90e67‘

                编码方式: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‘xe4xb8xadxe5x9bxbd‘ b‘xd6xd0xb9xfa‘       
12                                                                                         

 

以上是关于python中一些小的知识点的主要内容,如果未能解决你的问题,请参考以下文章

python [代码片段]一些有趣的代码#sort

常用python日期日志获取内容循环的代码片段

在 Python 多处理进程中运行较慢的 OpenCV 代码片段

在PaddlePaddle中的Notebook代码片段

python小知识片段

python小知识片段