python学习日记一(概述)

一如既往、python语言是什么:
1.面向对象
python是一种面向对象解释型微机程序设计语言

2.解释型语言
(1)Python是彻头彻尾的自由软件, 源代码和解释器CPython遵循 GPL(GNU General
Public License)协议 。
(2)和Java一样Python依赖让解释器,只不过Java依赖之是JVM,Python依赖的凡PVM,Python在实行时,首先会用.py文件被的源代码编译成Python的byte
code(字节码),然后再度由Python Virtual
Machine(Python虚拟机)来推行这些编译好之byte
code。这种机制的骨干考虑跟Java,.NET是平等的。

3.要用来哪里
(1)web开发
(2)爬虫、数据解析、数据挖掘、机器上。
(3)科学计算,生物计算。
(4)云计算。
(5)运维自动化。
(6)测试自动化。
(7)ERP管理体系出。
(8)游戏开发。
具体点:

(1)图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。
(2)数学处理:NumPy扩展提供大量与许多标准数学库的接口。
(3)文本处理:python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。
(4)数据库编程:程序员可通过遵循Python DB-API(数据库应用程序编程接口)规范的模块与Microsoft SQL Server,Oracle,Sybase,DB2,MySQL、SQLite等数据库通信。python自带有一个Gadfly模块,提供了一个完整的SQL环境。
(5)网络编程:提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划例如Zope,Mnet 及BitTorrent. Google都在广泛地使用它。
(6)Web编程:应用的开发语言,支持最新的XML技术。
(7)多媒体应用:Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。
(8)pymo引擎:PYMO全称为python memories off,是一款运行于Symbian S60V3,Symbian3,S60V5, Symbian3, Android系统上的AVG游戏引擎。因其基于python2.0平台开发,并且适用于创建秋之回忆(memories off)风格的AVG游戏,故命名为PYMO。
(9)黑客编程:python有一个hack的库,内置了你熟悉的或不熟悉的函数,但是缺少成就感。

4.而扩大的
Python本身为设计吧而扩大的。并非有的特点和功效都合并及语言基本。Python提供了丰富的API和工具,以便程序员能够轻松地动用C语言、C++、Cython来修扩充模块;或者Java、Jython来编排模块,IronPython,.NET来修模块。

5.文本结构

python2.6文件结构.JPG

(1)python.exe在运作程序的时刻,会弹有一个黑色的控制高窗口(也于命行窗口、DOS/CMD窗口);

(2)pythonw.exe是不管窗口的Python可执行程序,意思是以运作程序的下,没有窗口,代码在后台执行。

(3)安装视窗版 Python 时,扩展名吧 .py 的文书为默认为用 python.exe
运行的文本,而 .pyw文件则让默认为用 pythonw.exe 运行。

可用python +
文件位置(C:\Users\Liurenquan\Desktop\test.python)执行python,但是只要事先配备环境变量。

6.标准库
Tkinter
Python默认的图形界面接口。Tkinter是一个同Tk接口的Python模块,Tkinter库提供了对Tk
API的接口,它属于Tcl/Tk的GUI工具组。
PyGTK
用来python GUI程序开发的GTK+库。GTK就是故来实现GIMP和Gnome的库房。
PyQt
用于python的Qt开发库。QT就是实现了KDE环境的死库,由同样雨后春笋之模块组合,有qt,
qtcanvas, qtgl, qtnetwork, qtsql, qttable, qtui and
qtxml,包含有300独像样以及超过5750单之函数和办法。PyQt还支持一个让qtext的模块,它包含一个QScintilla库。该库是Scintillar编辑器类的Qt接口。
wxPython
GUI编程框架,熟悉MFC的丁会见老欣赏,简直是同样架构(对于新家或对计划要求不赛之用户来说,使用Boa
Constructor可以便宜高效的开展wxPython的付出)
PIL
python提供强劲的图形处理的能力,并提供广泛的图形文件格式支持,该库能拓展图片格式的变、打印和显示。还能够开展有图形效果的拍卖,如图的放、缩小与转等。是Python用户进行图象处理的强大工具。
Psyco
一个Python代码加速度器,可要Python代码的行进度增长至跟编译语言同样的水平。
xmpppy
Jabber服务器采用开发之XMPP协议,Google
Talk也是使XMPP协议的IM系统。在Python中生出一个xmpppy模块支持该谋。也就是说,我们得经该模块和Jabber服务器通信,是不是异常Cool。
PyMedia
用于多媒体操作的python模块。它提供了长而略的接口用于多媒体处理(wav,
mp3, ogg, avi, divx, dvd, cdda etc)。可每当Windows和Linux平台下利用。
Pmw
Python
megawidgets,Python超级GUI组件集,一个以python中使Tkinter模块构建的高等级GUI组件,每个Pmw都统一了一个或者多单Tkinter组件,以实现重复使得和重新扑朔迷离的机能。
PyXML
因此Python解析及处理XML文档的工具确保,包中的4DOM凡全然相容于W3C
DOM规范的。它包含以下内容:
xmlproc: 一个符合规范的XML解析器。Expat:
一个便捷的,非验证的XML解析器。还发生任何与外以及级别之还有 PyHtml
PySGML。
PyGame
用于多媒体开发同游戏软件开发之模块。
PyOpenGL
模块封装了“OpenGL应用程序编程接口”,通过该模块python程序员可在次中融为一体2D同3D的图样。
NumPy、NumArray、SAGE
NumArray是Python的一个恢宏库,主要用来拍卖任意维数的永恒类型数组,简单说哪怕是一个矩阵库。它的平底代码应用C来修,所以速度之优势十分引人注目。SAGE是根据NumPy和其他几独器所整合成的数学软件包,目标是代表Magma,
Maple, Mathematica和Matlab 这好像工具。
MySQLdb
用以连接MySQL数据库。还有用于zope的ZMySQLDA模块,通过它就是只是于zope中连续mysql数据库。
Sqlite3
用以连接sqlite数据库。
  
Python-ldap
供平等组面向对象的API,可惠及地于python中做客ldap目录服务,它根据OpenLDAP2.x。
smtplib
出殡电子邮件。
ftplib
概念了FTP类和有些措施,用以进行客户端的ftp编程。如果想了解ftp协议的详细内容,请参考RFC959。
PyOpenCL
OpenCL的Python接口,通过该模块可采用GPU实现并行计算。

7.例子

用Python写简单爬虫
首先,要通过urllib2这个Module获得对应的HTML源码。
import urllib2  #调用urllib2  
url='http://www.baidu.com/s?wd=cloga' #把等号右边的网址赋值给url
html=urllib2.urlopen(url).read()   #html随意取名 等号后面的动作是打开源代码页面,并阅读
print html #打印
通过上面这三句就可以将URL的源码存在content变量中,其类型为字符型。
接下来是要从这堆HTML源码中提取我们需要的内容。用Chrome查看一下对应的内容的代码(也可以用Firefox的Firebug)。
可以看到url的信息存储在span标签中,要获取其中的信息可以用正则式。
网站地图xml地图