主目录
Python简介
Python版本说明
Python特点
Python环境搭建
Python开发环境IDE的使用
Python包管理工具pip安装与使用
Python基础语法
Python高级语法
Python常用WEB框架
Python简介:
Python(蟒蛇,图标是两条蛇)是一门简单易学且功能强大的编程语言。它拥有高效的高级数据结构,并且能够用简单而又高效的方式进行面向对象编程。Python 优雅的语法和动态类型,再结合它的解释性,使其在大多数平台的许多领域中成为编写脚本或开发应用程序的理想语言。
Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。
像Perl语言一样, Python 源代码同样遵循GPL(GNU General Public License)协议。
Python版本说明:
目前Python有两个大版本:2.x和3.x,虽然是Python的两个版本,但是与其他软件不同的是Python 3.x版本不兼容Python2.x版本
为了不带入过多的累赘,Python3.0在设计的时候未考虑向下兼容,所以Python早期版本所设计的程序都无法在Python3.0上正常运行。但为了照顾现有程序,Python提供了2.6版本作为过渡版本,基本使用2.x版本的语法,同时考虑向3.0的迁移,允许使用部分3.0的语法和函数
所以考虑到以后Python版本的升级,建议我们编写Python程序的时候,尽量使用3.0的语法,然后用2.7版本运行程序,这样能减少以后版本升级后代码的重构。
Python2.x和Python3.x的更多语法区别,请参考:http://www.runoob.com/python/python-2x-3x.html
Python特点:
1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
2.易于阅读:Python代码定义的更清晰。
3.易于维护:Python的成功在于它的源代码是相当容易维护的。
4.一个广泛的标准库:Python的最大的优势之一是丰富的库(147,695 projects,1,038,478 releases,1,406,021 files,287,818 users),跨平台的,在UNIX,Windows和Macintosh兼容很好。
5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。
6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。
7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
8.数据库:Python提供所有主要的商业数据库的接口。
9.GUI编程:Python支持GUI(Graphical User Interface)可以创建和移植到许多系统调用。
10.可嵌入:你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。
python环境搭建:
对于我们来说,经常用到windows和linux&unix平台的Python,以下介绍两个平台下Python环境的搭建:
1. windows平台下:
下载指定Python版本的安装包:https://www.python.org/downloads/
下载后,双击安装此安装包
配置环境变量:
2. linux&unix平台下:
通过官网下载Python指定版本的源码包:https://www.python.org/downloads/source/
解压压缩包,并cd到解压后目录;
执行./configure脚本
make && make install
执行以上操作后,Python 会安装在/usr/local/bin 目录中,Python 库安装在/usr/local/lib/pythonXX,XX 为你使用的Python 的版本号
配置环境变量:exportPATH="$PATH:/usr/local/bin/python"
Python开发环境IDE的使用
开发工具建议统一使用jetbrains的idea(Pycharm也一样),但相比Pycharm,idea功能更全面。
Python开发环境IDE的使用
如何用idea打开一个Python工程:
1. 配置Python SDK:
2. 打开一个已存在的Python代码工程:
Python开发环境IDE的使用
远程调试:
服务器代码端配置如下:
打开idea中的run/debug configurations, 选择Python Remote Debug类型,配置如下:输入ip,端口,代码路径映射即可
启动debug:
idea会等待debug连接,如图:
启动服务器端的服务或进程;即可开始打断点debug
Python包管理工具pip安装与使用
pip 是Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。
下载指定版本的pip源码包:https://pypi.org/project/pip/#downloads
解压pip-x.x.x.tar,并打开目录:
执行python setup.py install
新打开终端执行pip list,如果提示
pip不是内部或外部命令,继续配置
配置环境变量,将Python27\Scripts
配置到Path环境变量中
使用安装命令:pip install xxx
使用更新命令:pip install –upgrade pip
使用卸载命令:pip uninstall xxx
使用idea中pip管理工具:
idea中使用pip管理软件包:
安装:
更新:
卸载:
Python基础语法
数据类型:
Numbers(数字)
int(有符号整型)
long(长整型[也可以代表八进制和十六进制])
float(浮点型)
complex(复数)
String(字符串)
List(列表)
[ 'raise', 786 , 2.23, 'john', 70.2 ]
Tuple(元组)
('raise', 786 , 2.23, 'john', 70.2 )
Dictionary(字典)
{'name': 'john','code':6734, 'dept': 'sales'}
常用运算符:
算术运算符:
+ -* / % **(幂运算) //(取整除)
比较运算符:
== != <> > < >= <=
赋值运算符:
= += -= *= /= %= **= //=
位运算符(将数字看作二进制来进行计算):
& | ^ ~ << >>
逻辑运算符:
and or not
成员运算符:
in not in
身份运算符:
is isnot
条件语句:
循环语句:
while循环
for循环
循环嵌套
循环控制语句:
•break continue pass
函数:
函数定义要点:
def定义函数名
参数可以设默认值
函数体严格缩进,否则编译错误
return可有可无,无则return None
return可以返回多个数据
变量作用域区分全局变量和局部变量
匿名函数:
lambda [arg1 [,arg2,.....argn]]:expression
模块:
可以是第三方包,也可以是自定义包,此处模块可以是个python文件,也可以是目录,这些文件或目录放置在python的lib库目录的site-packages下
python代码中引入其他模块的语法如下:
import module1[, module2[, …moduleN]
from modnameimport name1[, name2[, nameN]
from modnameimport *
包:
包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的Python 的应用环境,__init__.py用于标识当前文件夹是一个包
文件操作:
用open()函数来创建一个文件对象
通过文件对象的方法操作这个文件对象
使用结束后,要及时关闭这个文件对象
异常处理:
Python提供了一些标准的异常
异常类的自定义:
定义一个异常类,需要继承一个Python的标准异常,根据需求自定义异常错误码,错误信息等。
异常的捕获:
try … except … [ except … ] finally …
异常的触发:
raise [Exception [, args[, traceback]]]
强大的os库:
os模块提供了非常丰富的方法用来处理文件、目录,并且提供执行shell命令的函数
参考:http://www.runoob.com/python/os-file-methods.html
面向对象:
类(class)
类实例化
类继承
方法重写
类方法
更多高级语法:
正则表达式(re模块)
re.match(pattern, string, flags=0)
网络编程:socket
多线程(thread)
thread.start_new_thread( function, args[, kwargs] )
GUI编程(Tkinter)
json
…
Python常用框架
1. Django:Django是一个开源的Web应用框架,采用了MTV的框架模式,即模型M,模板T和视图V。Django与其他框架比较,它有个比较独特的特性,支持orm,将数据库的操作封装成为python,对于需要适用多种数据库的应用来说是个比较好的特性。
2. Flask:Flask是一个使用Python 编写的轻量级Web 应用框架。Flask也被称为“microframework” ,因为它使用简单的核心,用extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。Flask 很轻,花很少的成本就能够开发一个简单的网站。非常适合初学者学习。Flask 框架学会以后,可以考虑学习插件的使用。例如使用WTForm+ Flask-WTForm来验证表单数据,用SQLAlchemy+ Flask-SQLAlchemy来对你的数据库进行控制。
两大框架并发量对比-------------------------------------------------------->: