一、python介绍
1.编程语言
机器语言
汇编语言
高级语言:
- 编译型:C、C++,执行速度快,跨平台差
- 解释型:Python、JavaScript、Perl、Shell,跨平台好,执行速度慢,依赖解释器运行
2.python发展史
1989年,Guido开始写Python语言的编译器
1991年,第一个Python编译器诞生
1994年,python1.0
2000年,python2.0
2008年10月,python2.6
2010年,python2.7
2008年12月,python3.0
3.种类
CPython
IPython
PyPy
Jython
IronPython
4.框架
- 异步高并发的主流框架Tornado
- 强大的插件扩展的flask
- 轻量级bottle框架
- 完美的django重型框架
5.字符编码
ASCII:占1个字节,只支持英文
GB2312:占2个字节,支持6700+汉字
GBK:GB2312的升级版,支持21000+汉字(中文2个字节,windows默认支持)
Unicode:2-4字节 已经收录136690个字符,并还在一直不断扩张中…(中文2个字节,英文2个字节,兼容GBK)(但是,文件的储存和传输不能使用unicode)
UTF-8:使用1、2、3、4个字节表示所有字符;优先使用1个字符、无法满足则使增加一个字节,最多4个字节。英文占1个字节、欧洲语系占2个、东亚占3个,其它及特殊字符占4个(中文3个字节)
在看实际代码的例子前,我们来聊聊,python3 执行代码的过程
解释器找到代码文件,把代码字符串按文件头定义的编码加载到内存,转成unicode
把代码字符串按照语法规则进行解释,
所有的变量字符都会以unicode编码声明
-
python3
1.文件默认编码是UTF-8
2.字符串编码是unicode
4.bytes与str不等同
5.所有unicode字符编码(encode)后都会变成bytes格式。除了unicode以外的编码字符在python3中显示成bytes格式 -
python2
1.文件默认编码是ASCII
2.字符串编码默认是ASCII
如果文件头声明了gbk,那字符串的编码就是gbk
3.在python里,unicode是一个单独的数据类型,用u‘路飞’表示
4.bytes与str等同(len一个str的数量是bytes的数量)
4.1在UTF-8编码下,
len(‘路飞’)得出来的数为6,
len(u’路飞’)得出来的数为2。
所以在python2里,unicode类型才是真正的“字符串”,而str类型应该是“字节串”。
在python3里,这个问题就得到了解决,str类型变成真正的“字符串”了
解码
解码是将字节序列转化为Unicode字符串的过程。我们从外界文本源(文件、数据库、网站、网站API等)获得的所有文本都是经过编码的字节串。重要的是需要知道它是以何种方式编码的,这样才能逆转编码过程以获得Unicode字符串。
编码
编码是将字符串(str)转化为一些列字节(bytes)的过程。
二、变量
在python里,内存自动回收;删除变量内存方式用del
1.定义规范:
变量名只能是字母、数字或下划线的任意组合
变量名的第一个字符不能是数字
一些关键字不能声明为变量:class、global、import等等python语法里的内部指令
2.命名习惯
驼峰体
AgeOfOldboy=56
下划线(优先使用)
age_of_oldboy=56
命名大忌
变量名为中文、拼音
变量名过长
变量名词不达意
3.常量
全部大写如PAI
三、数据类型
Python3 的六个标准数据类型中:
不可变数据(3 个):Number