g winreg
ConfigParser configparser
copy_reg copyreg
Queue queue
SocketServer socketserver
markupbase _markupbase
repr reprlib
test.test_support test.support
5.5.谁不支持python3?
Twisted在2016年的时候还没有完全支持
6.字符编码
6.1.编码发展史(关于中文的处理)
为了处理汉字,程序员设计了用于简体中文的GB2312和用于繁体中文的big5。
1980年,设计出GB2312,是支持中文的第一张表,收录7445个中文字符,包括6763个汉字和682个其他符号
1995年,设计出GBK1.0,扩展了更多的汉字支持,收录21886个中文字符,
2000年,设计出GB18030,是取代GBK1.0的正式国家标准,该标准收录27484个汉字,和其他藏文,蒙文,维吾尔文等主要的少数名族文字,
现在的PC平台要求必须能支持GB18030,嵌入式产品不做要求,如手机,MP3等只需要支持GB2312即可
big5是台湾人民设计的用于支持繁体中文
以上的编码方法中,后面的标准兼容前面的标准,在这些编码中,英文和中文可以统一处理。区分中文编码的方法是高字节的最高位不为0。
按照程序员的习惯,GB2312、GBK1.0到GB18030都属于双字节字符集 (DBCS)。
有的中文Windows的默认内码是GBK,可以升级到GB18030。不过GB18030相对GBK增加的字符,普通人很难用到,通常我们还是用GBK指代中文Windows内码。
由于ASCII码无法表示世界上的所有文字和符号,所以,设计出一个可以表示所有国家和地区的字符和符号的编码:Unicode
Unicode万国码,也称为统一码,单一码,规定:所有的字符和符号最少由16位(2个字节)来表示,即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多
2**16 = 65535 = 存一个字符 统一占用2个字节
UTF-8 = unicode 的扩展集,可变长的字符编码集
ASCII -->Gb2312 ->gbk1.0-->gb18030
ASCII -->unicode -->utf-8 /utf-16
6.2.Python的字符编码
python解释器在加载 .py文件中的代码时,需要对内容进行编码,默认使用ASCII对内容进行转换二进制代码
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,
ACSII表规定每个字符最多只能用 8 位(8个bit)来表示一个字节,即所有字符都各占1个字节,即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号。
注意:
(1)Python2.x中的默认编码是ASCII不支持中文,如果想让python2.7支持中文,有以下2种方式
1)编辑py程序msg.py,在文前申明
vim msg.py
#! -*- coding:utf-8 -*-
或者
# coding:utf-8
msg = "今天天气真不错"
print(msg)
python msg.py
今天天气真不错
2)变量值前加个字母“u”
>>>msg = u"今天天气真不错"
>>>print(msg)
今天天气真不错
(2)Python3.x中的默认编码是unicode,支持中文,不需要申明
unicode 是向下兼容gb2312 , gbk
7.进制转换
关于进制转换本文不再赘述。
8.代码书写规范
8.1.文件扩展名(后缀)
最具常识性的问题,是哪种类型的文件就存成那种文件类型的后缀,让人一眼就可以看出来写的是什么代码,不要太low了
以下是一些常见的文件扩展名,供参考:
.txt 记事本文本文件
.py python文件
.java java 文件
.c .h c源码
.php php文件
.js java script
8.2.缩进和空格
python中使用缩进体现代码的逻辑性
该缩进的必须缩进,tab键和空格键都可以实现缩进的功能,但是,必须且同时只能单独只使用一种缩进方式
注意:
在windows下,notepad++中tab键和4个空格的长度一样,但是效果却完全不一样
官方建议敲4个空格进行缩进,在notepad中可以手动设定tab键修变为4个空格,方便程序开发
8.3.注释
(1)注释的用处
1)方便自己或者他人友好的阅读代码,增进对代码的感情
2)。。。
(2)注释的类型
1)单行注释:在被注释内容前加井号
#【被注释内容】
2)多行注释:在被注释内容前后使用3个引号进行注释,引号可以是单引号也可以是双引号,但必须成对出现
'''【被注释内容】'''
或者是
"""【被注释内容】"""
(3)注释符号的其他应用:打印多行内容
>>> msg='''
... aaa
... bbb
... ccc
... '''
>>> print(msg)
aaa
bbb
ccc
>>> msg="aaa bbb ccc"
>>> print(msg)
aaa bbb ccc
使用注释符号可以打印出多行的内容,而字符串赋值中多个字符串打印是在同一行
完毕。