一、WHAT'S PYTHON ?
1、python 简介
Python(英语发音:/ˈpaɪθən/), 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议 。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。
2、谁在用 python
Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。互联网公司广泛使用Python来做的事一般有:自动化运维、自动化测试、大数据分析、爬虫、Web 等。
3、python 的种类
Cpython
Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。
Jyhton
Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。
IronPython
Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)
PyPy(特殊)
Python实现的Python,将Python的字节码字节码再编译成机器码。
RubyPython、Brython ...
4、python 优缺点
优点:
* Simple Elegant Clear (简单、优雅、明确) * 强大的第三方库 * 易移植 * 面向对象 * 可扩展 缺点:
* 速度慢(相对环境) * 代码不能加密
二、PYTHON BASE
1、安装 python 环境
For Linux:
如果是ubuntu14.04+的版本,那么默认的python就是2.7+啦
1 tom@python:~$ cat /etc/issue
2 Ubuntu 14.04.3 LTS \n \l
3
4 tom@python:~$ python -V
5 Python 2.7.6
如果是centos6系列,那么请升级你的默认python到2.7+
1 1、安装gcc,用于编译Python源码
2 yum install gcc
3 2、下载源码包,https://www.python.org/ftp/python/
4 3、解压并进入源码文件
5 4、编译安装
6 ./configure
7 make all
8 make install
9 5、查看版本
10 /usr/local/bin/python2.7 -V
11 6、修改默认Python版本
12 mv /usr/bin/python /usr/bin/python2.6
13 ln -s /usr/local/bin/python2.7 /usr/bin/python
14 7、防止yum执行异常,修改yum使用的Python版本
15 vi /usr/bin/yum
16 将头部 #!/usr/bin/python 修改为 #!/usr/bin/python2.6
For Windows:
1 1、下载安装包
2 https://www.python.org/downloads/
3 2、安装
4 默认安装路径:C:\python27
5 3、配置环境变量
6 【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】
7 如:原来的值;C:\python27,切记前面有分号
2、python 代码的执行过程
Call :滕兰老师说要把第一次交给“hello world”
#!/usr/bin/env python
# coding:utf-8
print 'hi,yue bu ?'
python 文件中的代码会由解释器进行语法/词法的分析,没有问题后进行编译调入内存执行。
python在执行.py的文件时会生成一个同名.pyc的文件,这个文件是源文件编译后的字节码文件,源文件编译成自解码后再转为机器可读的二进制码交给CPU处理。
3、什么是解释器?
解释器(Interpreter),又译为直译器,能够把高级编程语言转译运行。说白了就是一翻译(也许是最近抗战片看多了,总会联想到穿着一半日本军装的汉奸翻译* *)
4、内容编码
python解释器在读取.py文件中的代码时,会对内容进行编码(默认是ASCII)
ASCII
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。
1 >>> a = 'doudou'
2 >>> type(a)
3
UNICODE
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536。Unicode的出现是因为ASCII的表示空间有限。
1 >>> name = u'小花'
2 >>> type(name)
3
4 >>> name
5 u'\u5c0f\u82b1'
6 >>> len(name)
7 2
UTF-8
UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。针对unicode的可变长度的字符编码,在内存中字符是Unicode进行处理的,硬盘存储的时再转为utf-8。
1 >>> name
2 u'\u5c0f\u82b1'
3 >>> name =name.encode('utf-8') # 使用encode将unicode转为utf-8
4 >>> name
5 '\xe5\xb0\x8f\xe8\x8a\xb1&