1、“=”、“==”、“is”和“id”的区别
首先,=
为赋值符号;==
为判断(相等)符号,判断两个值是否相等;而is
则比较的是两者的内存地址;id(内容)
打印内容对应的id。
实例: id()方法
2、print方法在python3和python2中的区别
python2:
- print可以加括号,也可以不加,如
print '***'
python3:
- print必须加括号
3、数字:
数字: 小数据池,如果创建的值比较小并且相同,则会共用一个值(内存地址相同),数字范围为-5到256,但是在python3.7版本中,好像无此限制,不管多大,只要值相同,都会共用一个值。
证明: 创建a和b两个变量,且a和b都为123,判断两者的内存地址是否相同
4、字符串:
字符串: 不能含有特殊字符,如’、"等,如果需要,则需要进行转义;
str*20还是同一个内存地址,超过则用两个内存地址;但是在python3.7版本中,好像无此限制,不管多大,只要值相同,都会共用一个值
实例:
5、编码:
- 各个编码之间的二进制是不能相互识别的,会产生乱码;
- 文件的储存、传输,不能用unicode(因为存储空间太大)(只能用utf-8,gbk,gb2312等)
6、python3在内存中是用unicode编码方式存储的,对于英文str,内部存储是用unicode编码方式存储的;对于python来讲,一切非unicode编码的都是bytes类型。bytes的编码方式为utf-8、gbk等。如:s = b'dgsad'
(b表示十六进制)
实例: 将str转化为bytes数据类型;并且可以设置编码方式
s1 = 'alex'
s11 = s1.encode('utf-8')#将s1转为utf-8编码的