int
n1 = 123 #根据int类,创建了一个对象
n2 = int(123) #根据int类,创建了一个对象,这里实际上调用了int类里的内置函数__int__(x,2),其中x为定义的对象,2表示x为二进制数,默认为10
python中重复创建整型对象在-5到257之间,都用同一个内存地址(python内部做的优化机制 )
id(a) 查看a的内存地址
int整型超过它的长度范围,会自动变成long类型
str
n1 = str() 这里定义一个空字符串
n2 = ""
n3 = str(byte_name,encoding='utf-8') 在知道byte_name是utf-8编码的字节 前提下,将字节转化为字符串
for循环
在python2.7里按字节来循环,python3.5按字符来循环
byte
byte_name = bytes(a,encoding='utf-8') 将字符串转化为字节,要指定编码类型
其中,byte_name里是十六进制显示(用十六进制表示二进制)的字节(print输出的话),用for循环输出每一个字节显示的是十进制
bin(a) 将一个十进制数字转换为二进制数
list
li = list() 创建和转换,其中转换是将可迭代的类型转换为列表
li.clear() 清除
列表索引取某一个元素,取出来的类型是元素本身的数据类型。而列表切片取出来的依然都是列表
tuple
a = tuple() 创建和转换,转换可迭代的
元组的元素不可修改(元素本身整体不变,内容可变 ),元组里的元素的元素可修改
dict
a = dict() 创建和转换,其中要将可迭代的类型转换为字典,可以使用enumerate函数,自动生成序号作为字典的key
a = dict(enumerate(li,10)) 将列表li转换为字典,其中键是以10依次递增的整数