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

Python学习(四)

时间:2017-10-29 19:31:00      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:blog   中文   str   小数   类型   class   字符   span   decode   

一、枚举

  enumerate,for i in enumerate(可迭代对象),返回元组,内容是(序列号,可迭代的每一个元素)

            for i,j in enumerate(可迭代对象,开始序列号),返回序列号,可迭代的每一个元素

a = abc
b = {a:1,b:2}
for i in enumerate(a):
    print(i)
#输出:
#(0, ‘a‘)
#(1, ‘b‘)
#(2, ‘c‘)

for i,j in enumerate(a,1):
    print(i,j)
#输出:
#1 a
#2 b
#3 c

 

二、内存地址:id()

  ==比较的是值,is 比较的是内存地址

  小数据池:int:-5~256

       str:1.不能有空格  

            2.长度不能超过20  

            3.不能有特殊字符

a = []
b = []
print(a == b,a is b)  #True False

a = abc
b = abc
print(a == b,a is b)  #True True

a = -6
b = -6
print(a == b,a is b)  #True False

 

三、编码

  在python3中,str的表现形式为字符串,bytes的表现形式为b字符串,str的实际编码方式是unicode,bytes的编码方式是utf-8、gbk、gb2312...

  在python3中,unicode:1个字符(无论中文、英文、数字),都用4个字节表示

          utf-8:用最少的字节表示一个字符,英文占1个字节,欧洲文字占2个字节,亚洲文字占3个字节

          gbk:英文占1个字节,中文占2个字节

  在python3中,字符串存在内存中是unicode编码方式,不能直接传输或者存储在硬盘,要转成bytes类型,unicode转bytes:a.endode(‘编码方式‘),bytes转unicode:a.decode(‘编码方式‘)

          utf-8和gbk、gb2312等编码方式互不识别,如果要转化,要先解码(decode)成unicode方式,再编码(encode)成对应的方式。

a = abc
b = a.encode(utf-8)
print(b,type(b))  #b‘abc‘ <class ‘bytes‘>

a = 你好
b = a.encode(utf-8)
print(b,type(b))  #b‘\xe4\xbd\xa0\xe5\xa5\xbd‘ <class ‘bytes‘>
c = b.decode()
print(c,type(c))  #你好 <class ‘str‘>
d = c.encode(gbk)
print(d,type(d))  #b‘\xc4\xe3\xba\xc3‘ <class ‘bytes‘>

 

Python学习(四)

标签:blog   中文   str   小数   类型   class   字符   span   decode   

原文地址:http://www.cnblogs.com/Coufusion/p/7750676.html

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