Python之路【第二篇】:Python简介、解释器与编码
python的诞生
python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。
最新的TIOBE排行榜,Python赶超PHP占据第五!!!人生苦短,我用python,相信选择python这条路不会错,并且这条路也会走的很远!
Python应用领域:
- 数据分析
- 组件集成
- 网络服务
- 图像处理
- 数值计算
- 科学计算
- .............
互联网公司目前使用Python做的事情主要有:
- 自动化运维
- 自动化测试
- 大数据分析
- 爬虫
- Web开发
- ...............
使用Python的互联网公司:
- Youtube
- Dropbox
- 中国知乎
- 豆瓣
- 谷歌
- 雅虎
- NASA
- 百度
- 腾讯
- 汽车之家
- 美团
- ..............
为什么Python这么受青睐?
Python的类库齐全并且使用简洁,如果要实现同样的功能,Python 10行代码可以解决,C可能就需要100行甚至更多.
Linux原装Python,其他语言没有;
但是就速度而言,python并没有优势,考虑速度的话,还是得考虑C语言,代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作
其他语言是代码首先编译成字节码,虚拟机执行字节码并转换成机器码后再在处理器上执行
Python种类:
- CPython: Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。
- Jython: Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。
- IronPython: Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)
- PyPy: Python实现的Python,将Python的字节码字节码再编译成机器码。
- 此外还有RubyPython等其他python
解释器:
#!/usr/bin/env python
其实这句在linux里面有用,在windows里面没用,写上这句之后,用来指定python的解释器在什么地方,以后在linux终端执行python程序 时,就不用python name.py了,
直接./name.py即可,在linux下,python位于/usr/bin这个目录下,而至于在代码里加上env,是为了兼容
编码:
ASCII码(所有的英文,字符数字,都八位来表示)
万国码unicode(最少用2个字节,对于中文的汉字,用三个字节来表示),但万国码最大的弊端是最少用两个字节,也就是说即使是英文字母,也要至少用两个字节,浪费了空间
所以后来出现了对unicode的一个加工,utf-8编码
utf-8,对于英文,数字,特殊字符等用1个字节表示,欧洲:2个字节,中文:3个字节,也就是说对unicode里面的字符进行了划分,就这样节省了空间
GBK与utf-8类似,GBK用2个字节来表示中文
GB2312与utf-8类似
# -*- coding:utf-8 -*-
这句话不加的话,就默认用ascii码了
在python2.7代码中,在顶部加上这两行代码,一行是解释器的代码,一行是编码的代码
在python3的代码中coding:utf-8这行代码就不需要加了,因为在2.7的时候还是默认ASCII码,到了3的时候就已经默认是utf-8编码了
windows命令行下的编码是GBK的