Python 学习手册

浏览53849
更新时间2022-04-15

什么是模块?



每一个.py文件都是一个模块,其他文件可以通过导入一个模块读取这个模块的内容,相当于C中的include……一个大型程序往往呈现出多模块的形式。其中一个模块文件被设计为主文件(or顶层文件)。


模块的导入:



这里我们做一个最简单的example,更为详细的后面讲。这里把刚才写的script1放在我们安装Python的位置:

然后开始-运行-python:




10. import,from 和 reload
  • 模块只可以导入一次
导入是一个开销很大的操作,以至于每个程序运行只可以导入一次。想再次运行除非调用内置reload函数:


import和reload不同的是,import不需要括号,是一个语句,而reload是一个函数,其返回值是一个python模块对象。
  • 模块扮演了工具库的角色:模块往往是变量名的封装,可被视作命名空间;在一个包中的变量名就是属性,或者说,属性就是绑定在特定对象上的变量名。一个模块通常可以有两个两个Python语句读入:import 和 from,以及reload函数的使用
  • import语句将模块作为一个整体引用,相当于引入一个类的object。看下面的效果就明白了。myfile作为一个模块被引用,然后script1就可以使用myfile的属性了。
  • 另一种引用方法:



图中所示,from和import很相似,只不过后者增加了对变量名的额外赋值,也就是拷贝模块的属性,因此能够以title导入,而不是myfile这个对象。


  • 模块的知识我们将在后面的章节具体的讲,这里再给出一个import的例子。有朋友提出疑问,为什么import不是像C++中#include一样后续可以调用这个这个模块的方法和属性,而是直接执行了呢?这里给出一个解释,并不是不可以调用这个模块的方法,而是上面的例子给出的比较简单,没有涉及类的封装,只有几个执行语句。下面在给出的这个例子是一个简单的模块例子。该例中,Worker.py定义了Worker类,外部通过import Worker导入该模块,进行相关操作。




  • import&from总结版:



dir(myfile)是获得myfile中的所有attribute,其中,前面带下划线的是Python预定义的内置变量名


模块的其他概念:

  • 模块是Python程序最大的程序结构
  • 每个模块文件是一个独立完备的变量包装,即一个命名空间
  • execfile('myfile.py')是另一种程序执行方式,但是从本质上讲他并没有导入模块

常用Python模块

  • difflib python diff比较模块
  • datetime python 处理日期与时间的模块
  • chardet 字符串/文件 编码检测(很好用)
adodb:我们领导推荐的数据库连接组件
bsddb3:BerkeleyDB的连接组件
Cheetah-1.0:我比较喜欢这个版本的cheetah
cherrypy:一个WEB framework
ctypes:用来调用动态链接库
DBUtils:数据库连接池
django:一个WEB framework
docutils:用来写文档的
dpkt:数据包的解包和组包
MySQLdb:连接MySQL数据库的
py2exe:用来生成windows可执行文件
Pylons:我们领导推荐的web framework
pysqlite2:SQLite的连接组件
pythonwin:Python的Windows扩展
setuptools:无奈,PEAK的一套python包管理机制
sqlalchemy:数据库连接池
SQLObject:数据库连接池
twisted:巨无霸的网络编程框架
wxPython-2.6:因为需要保持与linux相同的版本才没用最新的,GUI编程框架
pypcap:抓包的
python-dnet:控制网络安全的其他设备
pyevent:Python的事件支持
pydot:画图的,graphiz
sendpkt:Python发包
simplejson:JSON的支持


DPKT:raw-scoket网络编程
Cx-oracle:连接oracle的好东东
Mechanize:爬虫连接网站常用
PIL:图像处理工具包


reportlab for PDF 文件。
PyQt4 for GUI界面

feedparser: rss解析
chardet:编码检测
scons: 项目构建工具,写好了模板用起来还是很方便的
scapy: 网络包构建分析框架,可编程的wireshark,有兴趣的google “Silver Needle in the Skype”
pefile: windows pe文件解析器
winpdb: 自己的程序或者用别的库不太明白的时候就靠它了
pywmi: 省了好多折腾功夫
pylint: 培养良好的编码习惯


下面是准备用的,不做评论:

pygccxml
pyparsing
pymacs
idapython
paimei
pysvn
pyLucene
wikidpad


1.Python操作PDF文件
2.Python連接PostgreSQL引擎
3.Python的.NET2.0的曲線表

http://pybrary.net/
—————————————————–
1.Python Image Libary
2.Tkinter Libary

http://www.pythonware.com/index.htm
—————————————————–
1.Karrigell

http://karrigell.sourceforge.net/
—————————————————–
1.The Standard Python Libary

http://effbot.org/librarybook/
—————————————————–
1.Python操作PDF的Libary

http://reportlab.org/
—————————————————–
1.Python cURL Libary

http://pycurl.sourceforge.net/
—————————————————–
1.urlgrabber

http://linux.duke.edu/projects/urlgrabber/
—————————————————–
1.MySQL-Python

http://mysql-python.sourceforge.net/
—————————————————–
1.pyScripter
2.Python for Delphi

http://mmm-experts.com/Products.aspx
—————————————————–
1.Python Cookbook

http://aspn.activestate.com/ASPN/Python/Cookbook/
—————————————————–
1.pygame

http://www.pygame.org/news.html
——————————————————
1.pymedia

http://www.pymedia.org

——————————————————
1.pydbf

http://dbfpy.sourceforge.net/
——————————————————
1.Pexpect

http://pexpect.sourceforge.net/
——————————————————
1.dabo
desktop application frameworks

http://dabodev.com/
——————————————————
1.pySerial

http://pyserial.sourceforge.net/
http://wiki.woodpecker.org.cn/moin/PySerial
——————————————————
1.python’s doc

http://wiki.woodpecker.org.cn/moin/PythonZhDoc
——————————————————
1.The Visual Module of VPython(3D)

http://vpython.org/index.html
——————————————————
1.PyLucene

http://pylucene.osafoundation.org/
——————————————————
1.DBUils

http://www.webwareforpython.org/DBUtils
——————————————————
1.http://happyiww.popo.blog.163.com/blog/

a good people’s blog
——————————————————
1.AppleScript,OSAComponents,HtmlCalendar

http://freespace.virgin.net/hamish.sanderson/index.html
——————————————————
1.Pypcap

http://code.google.com/p/pypcap/
http://monkey.org/~dugsong/dpkt/
http://www.winpcap.org/install/default.htm


python-memcached client module for memcached


Kodos,python的正则表达式调试工具,



PLY (Python Lex-Yacc)
http://www.dabeaz.com/ply/
正在用它写汇编器.

wxPython - GUI Framework
omniORBpy - CORBA Library
ZODB3 - an OODB implement
ReportLab - PDF generating solution
numpy+scipy+matplotlib


hachoir 各种多媒体元数据解析
python-orge 演示用

数据库的:
sqlalchemy
sqlobject
MySQL-python (easy_install的时候就是这个名字)


routes
beaker

两个模板引擎:
genshi
mako

paster


另外还有知道的
PyCrypto 加密的
paramiko 这个可以帮你写sftp,比twisted里面的那个好用一些

twisted 写服务器玩的

PyOpenGL

PyGame

Psyco 传说可以加速你的python程序

PIL (Python Image Library) 处理图片

PyObjC 这个是苹果上用的,写Cocoa程序


Python desktop client GUI application:
wxPython
PyOpenGL
PyXML
ZSI
davlib.py

ChartDirector
一个支持多种语言的图表库,无论是效果还是效率,都比jfreechart高。

相关视频

更多

免费

php8,我来也
初级php8,我来也

321942次学习

收藏

免费

Thinkphp6.0正式版视频教程
中级Thinkphp6.0正式版视频教程

382567次学习

收藏

免费

细说PHP第一季
中级细说PHP第一季

283156次学习

收藏

免费

简单聊聊PHP创业那点事
初级简单聊聊PHP创业那点事

13422次学习

收藏

精品课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时 | 62.5万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时 | 39.8万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时 | 73.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号