1. name = "alex"
print(id(name))
li = [1,2,3]
print(id(li)) 2.is判断的是内存地址 name1 = "[email protected]" name2 = "[email protected]" print(name1 == name2) print(name1 is name2) 在pycharm里面2个结果都是True在python小黑框里,print(name1 is name2)为False 3.小数据池
python中int str 有小数据池int -5-----256str
如果是全部由字母组成的字符串,都是指向一个内存地址
如果是数字与str(单个字母)相乘,则20(含)以内的都是同一个内存地址其他数据类型,则没有小数据池概念 4.s1 = "alex"s2 = "alex"
问:如果改变s1,s2会改变吗?
答:字符串,元组,int都是不可改变数据类型。dic会改变。 5. unicode :万国码(默认为32位为一个字符)
A : 0000 0001 0000 0001 0000 0001 0000 0001
中: 0000 0101 0000 0101 0000 0101 0000 0101 升级:utf-8:用最少8魏表示一个字符
A : 0000 0001 8位
欧洲 : 0000 0001 0000 0001 16位
中 : 0000 0101 0000 0101 0000 0101 24位 gbk :国标
a : 0000 0001 8位
中: 0000 0101 0000 0101 16位 1.不同编译之间是不能互相识别对方的二进制,会报错,或者产生乱码
2.在你的字符串(文件)存储,传输时,必须使用非unicode的二进制(01010101)
6.数据类型 (1)byte 对于非中文:表现形式 :b"alex"
内部编码:utf-8,gbk,gb2312...(非unicode)你设定的 对于中文:表现形式: b"xe3\xf2\x36\xe3\xf2\x36\"
内部编码:utf-8,gbk,gb2312...(非unicode)你设定的 (2)str 对于非中文:表现形式 :"alex"
内部编码: unicode
对于中文:表现形式 :"中国"
内部编码: unicode
7.表现形式与转换
encode 是表示转化成utf-8 g格式
(1)英文表现形式与转换 s = "alex" b = s.encode("utf-8") print(s,type(s)) print(b,type(b)) # (2)中文表现形式与转换 s = "我爱中国" b = s.encode("utf-8") print(s,type(s)) print(b,type(b))