图解Python 【第一篇】:Python基础1

本节内容一览图

 

 


 

1、Python简介 

Python前世此生

python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,做为ABC语言的一种继承。  html

最新的TIOBE排行榜,Python赶超PHP占据第五!!!java

 

 

由上图可见,Python总体呈上升趋势,反映出Python应用愈来愈普遍而且也逐渐获得业内的承认!!!python

目前Python主要应用领域:linux

  • 云计算: 云计算最火的语言, 典型应用OpenStack
  • WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
  • 科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
  • 系统运维: 运维人员必备语言
  • 金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,并且重要性逐年提升。缘由:做为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤为擅长策略回测
  • 图形GUI: PyQT, WxPython,TkInter
  •  

Python在一些公司的应用: 

  • 谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬虫、Google广告等项目都在大量使用Python开发
  • CIA: 美国中情局网站就是用Python开发的
  • NASA: 美国航天局(NASA)大量使用Python进行数据分析和运算
  • YouTube:世界上最大的视频网站YouTube就是用Python开发的
  • Dropbox:美国最大的在线云存储网站,所有用Python实现,天天网站处理10亿个文件的上传和下载
  • Instagram:美国最大的图片分享社交网站,天天超过3千万张照片被分享,所有用python开发
  • Facebook:大量的基础库均经过Python实现的
  • Redhat: 世界上最流行的Linux发行版本中的yum包管理工具就是用python开发的
  • 豆瓣: 公司几乎全部的业务均是经过Python开发的
  • 知乎: 国内最大的问答社区,经过Python开发(国外Quora)
  • 春雨医生:国内知名的在线医疗网站是用Python开发的
  • 除上面以外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝 、土豆、新浪、果壳等公司都在使用Python完成各类各样的任务。 

 


 

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 ...

以上除PyPy以外,其余的Python的对应关系和执行流程以下: c++

PyPy,在Python的基础上对Python的字节码进一步处理,从而提高执行速度!程序员

Python 是一门什么样的语言?

关于编译型vs解释型连接 --请点这里算法

 

3、Python 2 or 3?

某些库更名了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解释器

当咱们编写Python代码时,咱们获得的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就须要Python解释器去执行.py文件。

因为整个Python语言从规范到解释器都是开源的,因此理论上,只要水平够高,任何人均可以编写Python解释器来执行Python代码(固然难度很大)。事实上,确实存在多种Python解释器。

CPython

当咱们从Python官方网站下载并安装好Python 2.7后,咱们就直接得到了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,因此叫CPython。在命令行下运行python就是启动CPython解释器。

CPython是使用最广的Python解释器。教程的全部代码也都在CPython下执行。

IPython

IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所加强,可是执行Python代码的功能和CPython是彻底同样的。比如不少国产浏览器虽然外观不一样,但内核其实都是调用了IE。

CPython用>>>做为提示符,而IPython用In [序号]:做为提示符。

PyPy

PyPy是另外一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),因此能够显著提升Python代码的执行速度。

绝大部分Python代码均可以在PyPy下运行,可是PyPy和CPython有一些是不一样的,这就致使相同的Python代码在两种解释器下执行可能会有不一样的结果。若是你的代码要放到PyPy下执行,就须要了解PyPy和CPython的不一样点

Jython

Jython是运行在Java平台上的Python解释器,能够直接把Python代码编译成Java字节码执行。

IronPython

IronPython和Jython相似,只不过IronPython是运行在微软.Net平台上的Python解释器,能够直接把Python代码编译成.Net的字节码。


 

Python环境 

安装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


 

3、变量\字符编码  

声明变量

 
1
2
3
#_*_coding:utf-8_*_
 
name = "Alex Li"

上述代码声明了一个变量,变量名为: name,变量name的值为:"Alex Li"

变量的做用:昵称,其代指内存里某个地址中保存的内容 

 

变量定义的规则:

    • 变量名只能是 字母、数字或下划线的任意组合
    • 变量名的第一个字符不能是数字
    • 如下关键字不能声明为变量名
      ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

变量的赋值

 
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内部提供的模块
  • 业内开源的模块
  • 程序员本身开发的模块

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:代码通过编译能够产生字节码;字节码经过反编译也能够获得代码。

 


4、 数据运算符

总结一览表:
算数运算:

比较运算:

赋值运算:

逻辑运算:

与相乘,或相加

补充:重要法则:短路计算

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)   详解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,武沛齐老师,本文多从二位老师文章中结合整理

相关文章
相关标签/搜索