python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,做为ABC语言的一种继承。 html
最新的TIOBE排行榜,Python赶超PHP占据第五!!!java
由上图可见,Python总体呈上升趋势,反映出Python应用愈来愈普遍而且也逐渐获得业内的承认!!!python
目前Python主要应用领域:linux
以上除PyPy以外,其余的Python的对应关系和执行流程以下: c++
PyPy,在Python的基础上对Python的字节码进一步处理,从而提高执行速度!程序员
关于编译型vs解释型连接 --请点这里算法
某些库更名了shell
Old Namewindows |
New Name浏览器 |
_winreg |
winreg |
ConfigParser |
configparser |
copy_reg |
copyreg |
Queue |
queue |
SocketServer |
socketserver |
markupbase |
_markupbase |
repr |
reprlib |
test.test_support |
test.support |
关于python的优缺点请点这里
当咱们编写Python代码时,咱们获得的是一个包含Python代码的以.py
为扩展名的文本文件。要运行代码,就须要Python解释器去执行.py
文件。
因为整个Python语言从规范到解释器都是开源的,因此理论上,只要水平够高,任何人均可以编写Python解释器来执行Python代码(固然难度很大)。事实上,确实存在多种Python解释器。
当咱们从Python官方网站下载并安装好Python 2.7后,咱们就直接得到了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,因此叫CPython。在命令行下运行python
就是启动CPython解释器。
CPython是使用最广的Python解释器。教程的全部代码也都在CPython下执行。
IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所加强,可是执行Python代码的功能和CPython是彻底同样的。比如不少国产浏览器虽然外观不一样,但内核其实都是调用了IE。
CPython用>>>
做为提示符,而IPython用In [
序号
]:
做为提示符。
PyPy是另外一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),因此能够显著提升Python代码的执行速度。
绝大部分Python代码均可以在PyPy下运行,可是PyPy和CPython有一些是不一样的,这就致使相同的Python代码在两种解释器下执行可能会有不一样的结果。若是你的代码要放到PyPy下执行,就须要了解PyPy和CPython的不一样点。
Jython是运行在Java平台上的Python解释器,能够直接把Python代码编译成Java字节码执行。
IronPython和Jython相似,只不过IronPython是运行在微软.Net平台上的Python解释器,能够直接把Python代码编译成.Net的字节码。
安装Python
windows:
1 2 3 4 5 6 7 |
一、下载安装包 https://www.python.org/downloads/ 二、安装 默认安装路径:C:\python27 三、配置环境变量 【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】 如:原来的值;C:\python27,切记前面有分号 |
linux:
1 2 3 |
无需安装,原装Python环境
ps:若是自带2.6,请更新至2.7 |
Linux的yum依赖自带Python,为防止错误,此处更新其实就是再安装一个Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
查看默认Python版本 python -V
一、安装gcc,用于编译Python源码 yum install gcc 二、下载源码包,https://www.python.org/ftp/python/ 三、解压并进入源码文件 四、编译安装 ./configure make all make install 五、查看版本 /usr/local/bin/python2.7 -V 六、修改默认Python版本 mv /usr/bin/python /usr/bin/python2.6 ln -s /usr/local/bin/python2.7 /usr/bin/python 七、防止yum执行异常,修改yum使用的Python版本 vi /usr/bin/yum 将头部 #!/usr/bin/python 修改成 #!/usr/bin/python2.6 |
声明变量
1
2
3
|
#_*_coding:utf-8_*_
name
=
"Alex Li"
|
上述代码声明了一个变量,变量名为: name,变量name的值为:"Alex Li"
变量的做用:昵称,其代指内存里某个地址中保存的内容
变量定义的规则:
变量的赋值
1
2
3
4
5
6
7
8
|
name
=
"Alex Li"
name2
=
name
print
(name,name2)
name
=
"Jack"
print
(
"What is the value of name2 now?"
)
|
Python 入门
python内部执行过程以下:
2、解释器
上一步中执行 python /home/dev/hello.py 时,明确的指出 hello.py 脚本由 python 解释器来执行。
若是想要相似于执行shell脚本同样执行python脚本,例: ./hello.py ,那么就须要在 hello.py 文件的头部指定解释器,以下:
1 2 3 |
#!/usr/bin/env python
print "hello,world" |
如此一来,执行: ./hello.py 便可。
ps:执行前需给予 hello.py 执行权限,chmod 755 hello.py
3、字符编码
关于字符编码点击这里
4、注释
当行注视:# 被注释内容
多行注释:""" 被注释内容 """
5、执行脚本传入参数
Python有大量的模块,从而使得开发Python程序很是简洁。类库有包括三中:
Python内部提供一个 sys 的模块,其中的 sys.argv 用来捕获执行执行python脚本时传入的参数
1 2 3 4 5 6 |
#!/usr/bin/env python # -*- coding: utf-8 -*-
import sys
print sys.argv |
6、 pyc 文件
执行Python代码时,若是导入了其余的 .py 文件,那么,执行过程当中会自动生成一个与其同名的 .pyc 文件,该文件就是Python解释器编译以后产生的字节码。
ps:代码通过编译能够产生字节码;字节码经过反编译也能够获得代码。
比较运算:
赋值运算:
逻辑运算:
与相乘,或相加
补充:重要法则:短路计算。
1. 在计算 a and b
时,若是 a 是 False,则根据与运算法则,整个结果一定为 False,所以返回 a;若是 a 是 True,则整个计算结果一定取决与 b,所以返回 b。
2. 在计算 a or b
时,若是 a 是 True,则根据或运算法则,整个计算结果一定为 True,所以返回 a;若是 a 是 False,则整个计算结果一定取决于 b,所以返回 b。
因此Python解释器在作布尔运算时,只要能提早肯定计算结果,它就不会日后算了,直接返回结果。
Python把0
、空字符串''
和None
当作 False,其余数值和非空字符串都当作 True
成员运算:
身份运算:
位运算:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#!/usr/bin/python
a
=
60
# 60 = 0011 1100
b
=
13
# 13 = 0000 1101
c
=
0
c
=
a & b;
# 12 = 0000 1100
print
"Line 1 - Value of c is "
, c
c
=
a | b;
# 61 = 0011 1101
print
"Line 2 - Value of c is "
, c
c
=
a ^ b;
# 49 = 0011 0001 #相同为0,不一样为1
print
"Line 3 - Value of c is "
, c
c
=
~a;
# -61 = 1100 0011
print
"Line 4 - Value of c is "
, c
c
=
a <<
2
;
# 240 = 1111 0000
print
"Line 5 - Value of c is "
, c
c
=
a >>
2
;
# 15 = 0000 1111
print
"Line 6 - Value of c is "
, c
|
*按位取反运算规则(按位取反再加1) 详解http://blog.csdn.net/wenxinwukui234/article/details/42119265
运算符优先级:
更多内容:猛击这里
声明:
本人在学习老男孩python自动化网络课程后,结合所学整理作次笔记,本文内容多出
Alex老师博客:http://www.cnblogs.com/alex3714/articles/5740985.html
武沛齐老师博客:http://www.cnblogs.com/wupeiqi/articles/5444685.html
感谢老男孩教育老师Alex,武沛齐老师,本文多从二位老师文章中结合整理