导航:首页 > 编程语言 > python有多少包和模块

python有多少包和模块

发布时间:2023-05-06 08:47:44

python中的模块和包的区别

1、模块(Mole)就是包含代码的文件,不一定是Python代码,有四种代码类型的模块:

•使用Python写的程序( .py文件)

•C或C++扩展(已编译为共享库或DLL文件)

•包(包含多个模块)

•内建模块(使用C编写并已链接到Python解释器内)

使用模块可以提高代码的可维护性和重复使用,还可以避免函数名和变量名冲突。相同名字的函数和变量完全可以分别存在不同的模块中,所以编写自己的模块时,不必考虑名字会与其他模块冲突,但要注意尽量不要与内置函数名字冲突。

2、包(Package)就是包含模块文件的目录,目录名称就是包名称,目录中可以包含目录,子目录也是包,但包名称应该包含上一级目录的名称。Python引入了按目录来组织模块是为了避免模块名冲突,不同包中的模块名可以相同。

注意,每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。__init__.py可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块,而它的模块名就是包名。

❷ python有哪些库

Python中6个最重要的库:

第一、NumPy

NumPy是Numerical
Python的简写,是Python数值计算的基石。它提供多种数据结构、算法以及大部分涉及Python数值计算所需的接口。NumPy还包括其他内容:

①快速、高效的多维数组对象ndarray

②基于元素的数组计算或数组间数学操作函数

③用于读写硬盘中基于数组的数据集的工具

④线性代数操作、傅里叶变换以及随机数生成

除了NumPy赋予Python的快速数组处理能力之外,NumPy的另一个主要用途是在算法和库之间作为数据传递的数据容器。对于数值数据,NumPy数组能够比Python内建数据结构更为高效地存储和操作数据。

第二、pandas

pandas提供了高级数据结构和函数,这些数据结构和函数的设计使得利用结构化、表格化数据的工作快速、简单、有表现力。它出现于2010年,帮助Python成为强大、高效的数据分析环境。常用的pandas对象是DataFrame,它是用于实现表格化、面向列、使用行列标签的数据结构;以及Series,一种一维标签数组对象。

pandas将表格和关系型数据库的灵活数据操作能力与Numpy的高性能数组计算的理念相结合。它提供复杂的索引函数,使得数据的重组、切块、切片、聚合、子集选择更为简单。由于数据操作、预处理、清洗在数据分析中是重要的技能,pandas将是重要主题。

第三、matplotlib

matplotlib是最流行的用于制图及其他二维数据可视化的Python库,它由John D.
Hunter创建,目前由一个大型开发者团队维护。matplotlib被设计为适合出版的制图工具。

对于Python编程者来说也有其他可视化库,但matplotlib依然使用最为广泛,并且与生态系统的其他库良好整合。

第四、IPython

IPython项目开始于2001年,由Fernando
Pérez发起,旨在开发一个更具交互性的Python解释器。在过去的16年中,它成为Python数据技术栈中最重要的工具之一。

尽管它本身并不提供任何计算或数据分析工具,它的设计侧重于在交互计算和软件开发两方面将生产力最大化。它使用了一种执行-探索工作流来替代其他语言中典型的编辑-编译-运行工作流。它还提供了针对操作系统命令行和文件系统的易用接口。由于数据分析编码工作包含大量的探索、试验、试错和遍历,IPython可以使你更快速地完成工作。

第五、SciPy

SciPy是科学计算领域针对不同标准问题域的包集合。以下是SciPy中包含的一些包:

①scipy.integrate数值积分例程和微分方程求解器

②scipy.linalg线性代数例程和基于numpy.linalg的矩阵分解

③scipy.optimize函数优化器和求根算法

④scipy.signal信号处理工具

⑤scipy.sparse稀疏矩阵与稀疏线性系统求解器

SciPy与Numpy一起为很多传统科学计算应用提供了一个合理、完整、成熟的计算基础。

第六、scikit-learn

scikit-learn项目诞生于2010年,目前已成为Python编程者首选的机器学习工具包。仅仅七年,scikit-learn就拥有了全世界1500位代码贡献者。其中包含以下子模块:

①分类:SVM、最近邻、随机森林、逻辑回归等

②回归:Lasso、岭回归等

③聚类:K-means、谱聚类等

④降维:PCA、特征选择、矩阵分解等

⑤模型选择:网格搜索、交叉验证、指标矩阵

⑥预处理:特征提取、正态化

scikit-learn与pandas、statsmodels、IPython一起使Python成为高效的数据科学编程语言。

❸ Python模块的几种类型简介

view plain to clipboardprint?
import os
import stat
import time<DIV></DIV>

fileStats = os.stat ( 'test.txt' )
fileInfo = {
'Size' : fileStats [ stat.ST_SIZE ],
'LastModified' : time.ctime ( fileStats [ stat.ST_MTIME ] ),
'LastAccessed' : time.ctime ( fileStats [ stat.ST_ATIME ] ),
'CreationTime' : time.ctime ( fileStats [ stat.ST_CTIME ] ),
'Mode' : fileStats [ stat.ST_MODE ]
}

for infoField, infoValue in fileInfo:
print infoField, ':' + infoValue
if stat.S_ISDIR ( fileStats [ stat.ST_MODE ] ):
print 'Directory. '
else:
print 'Non-directory.'

import os
import stat
import time

fileStats = os.stat ( 'test.txt' )
fileInfo = {
'Size' : fileStats [ stat.ST_SIZE ],
'LastModified' : time.ctime ( fileStats [ stat.ST_MTIME ] ),
'LastAccessed' : time.ctime ( fileStats [ stat.ST_ATIME ] ),
'CreationTime' : time.ctime ( fileStats [ stat.ST_CTIME ] ),
'Mode' : fileStats [ stat.ST_MODE ]
}

for infoField, infoValue in fileInfo:
print infoField, ':' + infoValue
if stat.S_ISDIR ( fileStats [ stat.ST_MODE ] ):
print 'Directory. '
else:
print 'Non-directory.'

❹ python中包是什么

python包

包是一个有层次的文件目录结构,它定义了由n个模块或n个子包组成的python应用程序执行环境。
通俗一点:包是一个包含__init__.py 文件的目录,该目录下一定得有这个__init__.py文件和其它模块或子包。
python库是参考其它编程语言的说法,就是指python中的完成一定功能的代码集合,供用户使用的代码组合。在python中是包和模块的
形式。
推荐学习《python教程》
一般按照API的惯例来设计库。

应用程序接口(英语:Application Programming Interface,简称:API),又称为应用编程接口,就是软件系统不同组成部分衔接的
约定。由于近年来软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编
程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组
成单元间的耦合程度,从而提高系统的维护性和扩展性。

❺ python有哪些模块

Python是一门非常高级的编程语言,内置了许多标准模块,比如:sys、os、datetime等。

os模块

os.getcwd() # 获取当前工作目录,即当前python脚本工作的目录路径

os.chdir("dirname") # 改变当前脚本工作目录;相当于shell下cd

os.curdir # 返回当前目录: ('.')

os.pardir # 获取当前目录的父目录字符串名:('..')

os.makedirs('dirname1/dirname2') # 可生成多层递归目录

os.removedirs('dirname1') # 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推

os.mkdir('dirname') # 生成单级目录;相当于shell中mkdir dirname

os.rmdir('dirname') # # 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname

os.listdir('dirname') # 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印

os.remove() # 删除一个文件

os.rename("oldname","newname") # 重命名文件/目录

os.stat('path/filename') # 获取文件/目录信息

os.sep # 输出操作系统特定的路径分隔符,win下为"\",linux下为"/"

os.linesep # 输出当前平台使用的行终止符,win下为" ",Linux下为" "

os.pathsep # 输出用于分割文件路径的字符串 win下为;,Linux下为:

os.name # 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'

os.system("bash command") # 运行shell命令,直接显示

os.environ # 获取系统环境变量

os.path.abspath(path) # 返回path规范化的绝对路径

os.path.split(path) # 将path分割成目录和文件名二元组返回

os.path.dirname(path) # 返回path的目录。其实就是os.path.split(path)的第一个元素

os.path.basename(path) #
返回path最后的文件名。如何path以/或结尾,那么就会返回空值。即os.path.split(path)的第二个元素

os.path.exists(path) # 如果path存在,返回True;如果path不存在,返回False

os.path.isabs(path) # 如果path是绝对路径,返回True

os.path.isfile(path) # 如果path是一个存在的文件,返回True。否则返回False

os.path.isdir(path) # 如果path是一个存在的目录,则返回True。否则返回False

os.path.join(path1[, path2[, ...]]) # 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略

os.path.getatime(path) # 返回path所指向的文件或者目录的最后访问时间

os.path.getmtime(path) # 返回path所指向的文件或者目录的最后修改时间

os.path.getsize(path) # 返回path的大小

sys模块

sys.argv # 命令行参数List,第一个元素是程序本身路径

sys.exit(n) # 退出程序,正常退出时exit(0)

sys.version # 获取Python解释程序的版本信息

sys.maxint # 最大的Int值

sys.path # 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值

sys.platform # 返回操作系统平台名称

datetime模块

datetime.today()返回一个表示当前本期日期时间的datetime对象

datetime.now([tz])返回指定时区日期时间的datetime对象,如果不指定tz参数则结果同上

datetime.utcnow()返回当前utc日期时间的datetime对象

datetime.fromtimestamp(timestamp[, tz])根据指定的时间戳创建一个datetime对象

datetime.utcfromtimestamp(timestamp)根据指定的时间戳创建一个datetime对象

datetime.strptime(date_str, format)将时间字符串转换为datetime对象

❻ 盘点Python常用的模块和包

模块

1.定义

计算机在开发过程中,代码越写越多,也就越难以维护,所以为了编写可维护的代码,我们会把函数进行分组,放在不同的文件里。在python里,一个.py文件就是一个模块。

2.优点:

提高代码的可维护性。

提高代码的复用,当模块完成时就可以在其他代码中调用。

引用其他模块,包含python内置模块和其他第三方模块。

避免函数名和变量名等名称冲突。

python内建模块:

1.sys模块

2.random模块

3.os模块:

os.path:讲解

https://www.cnblogs.com/yufeihlf/p/6179547.html

数据可视化

1.matplotlib :

是Python可视化程序库的泰斗,它的设计和在1980年代被设计的商业化程序语言MATLAB非常接近。比如pandas和Seaborn就是matplotlib的外包,它们让你能用更少的代码去调用 matplotlib的方法。

访问:

https://matplotlib.org/

颜色:

https://www.cnblogs.com/darkknightzh/p/6117528.html

教程:

https://wizardforcel.gitbooks.io/matplotlib-user-guide/3.1.html

2.Seaborn:

它是构建在matplotlib的基础上的,用简洁的代码来制作好看的图表。Seaborn跟matplotlib最大的区别就是它的默认绘图风格和色彩搭配都具有现代美感。

访问:

http://seaborn.pydata.org/index.html

3.ggplot:

gplot 跟 matplotlib 的不同之处是它允许你叠加不同的图层来完成一幅图

访问:

http://ggplot.yhathq.com/

4.Mayavi:

Mayavi2完全用Python编写,因此它不但是一个方便实用的可视化软件,而且可以方便地用Python编写扩展,嵌入到用户编写的Python程序中,或者直接使用其面向脚本的API:mlab快速绘制三维图

访问:http://code.enthought.com/pages/mayavi-project.html

讲解:https://blog.csdn.net/ouening/article/details/76595427https://www.jianshu.com/p/81e6f4f1cdd8

5.TVTK:

TVTK库对标准的VTK库进行包装,提供了Python风格的API、支持Trait属性和numpy的多维数组。

VTK (http://www.vtk.org/) 是一套三维的数据可视化工具,它由C++编写,包涵了近千个类帮助我们处理和显示数据

讲解:https://docs.huihoo.com/scipy/scipy-zh-cn/tvtk_intro.html

机器学习

1.Scikit-learn

是一个简单且高效的数据挖掘和数据分析工具,易上手,可以在多个上下文中重复使用。它基于NumPy, SciPy 和 matplotlib,开源,可商用(基于 BSD 许可)。

访问:

讲解:https://blog.csdn.net/finafily0526/article/details/79318401

2.Tensorflow

最初由谷歌机器智能科研组织中的谷歌大脑团队(Google Brain Team)的研究人员和工程师开发。该系统设计的初衷是为了便于机器学习研究,能够更快更好地将科研原型转化为生产项目。

相关推荐:《Python视频教程》

Web框架

1.Tornado

访问:http://www.tornadoweb.org/en/stable/

2.Flask

访问:http://flask.pocoo.org/

3.Web.py

访问:http://webpy.org/

4.django

https://www.djangoproject.com/

5.cherrypy

http://cherrypy.org/

6.jinjs

http://docs.jinkan.org/docs/jinja2/

GUI 图形界面

1.Tkinter

https://wiki.python.org/moin/TkInter/

2.wxPython

https://www.wxpython.org/

3.PyGTK

http://www.pygtk.org/

4.PyQt

https://sourceforge.net/projects/pyqt/

5.PySide

http://wiki.qt.io/Category:LanguageBindings::PySide

科学计算

教程

https://docs.huihoo.com/scipy/scipy-zh-cn/index.html#

1.numpy

访问

http://www.numpy.org/

讲解

https://blog.csdn.net/lm_is_dc/article/details/81098805

2.sympy

sympy是一个Python的科学计算库,用一套强大的符号计算体系完成诸如多项式求值、求极限、解方程、求积分、微分方程、级数展开、矩阵运算等等计算问题

访问

https://docs.sympy.org/0.7.1/guide.html#guide

讲解

https://www.jianshu.com/p/339c91ae9f41

解方程

https://www.cnblogs.com/zyg123/p/10549354.html

3.SciPy

官网

https://www.scipy.org/

讲解

https://blog.csdn.net/wsp_1138886114/article/details/80444621

4.pandas

官网

http://pandas.pydata.org/

讲解

https://www.cnblogs.com/linux-wangkun/p/5903945.html

5.blaze

官网

http://blaze.readthedocs.io/en/latest/index.html

密码学

1.cryptography

https://pypi.python.org/pypi/cryptography/

2.hashids

http://www.oschina.net/p/hashids

3.Paramiko

http://www.paramiko.org/

4.Passlib

https://pythonhosted.org/passlib/

5.PyCrypto

https://pypi.python.org/pypi/pycrypto

6.PyNacl

http://pynacl.readthedocs.io/en/latest/

爬虫相关

requests

http://www.python-requests.org/

scrapy

https://scrapy.org/

pyspider

https://github.com/binux/pyspider

portia

https://github.com/scrapinghub/portia

html2text

https://github.com/Alir3z4/html2text

BeautifulSoup

https://www.crummy.com/software/BeautifulSoup/

lxml

http://lxml.de/

selenium

http://docs.seleniumhq.org/

mechanize

https://pypi.python.org/pypi/mechanize

PyQuery

https://pypi.python.org/pypi/pyquery/

creepy

https://pypi.python.org/pypi/creepy

gevent

一个高并发的网络性能库

http://www.gevent.org/

图像处理

bigmoyan

http://scikit-image.org/

Python Imaging Library(PIL)

http://www.pythonware.com/procts/pil/

pillow:

http://pillow.readthedocs.io/en/latest/

自然语言处理

1.nltk:

http://www.nltk.org/

教程

https://blog.csdn.net/wizardforcel/article/details/79274443

2.snownlp

https://github.com/isnowfy/snownlp

3.Pattern

https://github.com/clips/pattern

4.TextBlob

http://textblob.readthedocs.io/en/dev/

5.Polyglot

https://pypi.python.org/pypi/polyglot

6.jieba:

https://github.com/fxsjy/jieba

数据库驱动

mysql-python

https://sourceforge.net/projects/mysql-python/

PyMySQL

https://github.com/PyMySQL/PyMySQL

PyMongo

https://docs.mongodb.com/ecosystem/drivers/python/

pymongo

MongoDB库

访问:https://pypi.python.org/pypi/pymongo/

redis

Redis库

访问:https://pypi.python.org/pypi/redis/

cxOracle

Oracle库

访问:https://pypi.python.org/pypi/cx_Oracle

SQLAlchemy

SQL工具包及对象关系映射(ORM)工具

访问:http://www.sqlalchemy.org/

peewee,

SQL工具包及对象关系映射(ORM)工具

访问:https://pypi.python.org/pypi/peewee

torndb

Tornado原装DB

访问:https://github.com/bdarnell/torndb

Web

pycurl

URL处理工具

smtplib模块

发送电子邮件

其他库暂未分类

1.PyInstaller:

是一个十分有用的第三方库,它能够在Windows、Linux、 Mac OS X 等操作系统下将 Python 源文件打包,通过对源文件打包, Python 程序可以在没有安装 Python 的环境中运行,也可以作为一个 独立文件方便传递和管理。

2.Ipython

一种交互式计算和开发环境

讲解

https://www.cnblogs.com/zzhzhao/p/5295476.html

命令

ls、cd 、run、edit、clear、exist

❼ 那些Python中的模块

Python的解释环境是很好用,但是如果我们需要编写一个大型的程序的时候,解释环境就完全不够用了。这个时候我们需要将python程序保存在一个文件里。通常这个文件是以.py结尾的。

对于大型的应用程序来说,一个文件可能是不够的,这个时候我们需要在文件中引用其他的文件,这样文件就叫做模块。

模块是一个包含Python定义和语句的文件。文件名就是模块名后跟文件后缀 .py 。在模块内部,模块名可以通过全局变量 __name__ 获得。

还是之前的斐波拉赫数列的例子,我们在fibo.py文件中存放了函数的实现:

编写完毕之后,我们可以在Python的解释环境中导入它:

然后直接使用即可:

常用的函数,我们可以将其赋值给一个变量:

或者,我们在导入的时候,直接给这个模块起个名字:

或者导入模块中的函数:

每个模块都有它自己的私有符号表,该表用作模块中定义的所有函数的全局符号表。因此,模块的作者可以在模块内使用全局变量,而不必担心与用户的全局变量发生意外冲突。

前面我们提到了可以使用import来导入一个模块,并且 __name__ 中保存的是模块的名字。

java中的main方法一样,如果我们想要在模块中进行一些测试工作,有没有类似java中main方法的写法呢?

先看一个例子:

在模块中,我们需要进行一个判断 __name__ 是不是被赋值为 "__main__"。

我们这样来执行这个模块:

以脚本执行的情况下,模块的 __name__ 属性会被赋值为 __main__ , 这也是例子中为什么要这样写的原因。

看下执行效果:

如果是以模块导入的话,那么将不会被执行:

使用import导入模块的时候,解释器首先会去找该名字的内置模块,如果没找到的话,解释器会从 sys.path变量给出的目录列表里寻找。

sys.path的初始目录包括:

要想查看模块中定义的内容,可以使用dir函数。

上面的例子列出了当前模块中定义的内容,包括变量,模块,函数等。

我们可以给dir加上参数,来获取特定模块的内容:

java中有package的概念,用来隔离程序代码。同样的在Python中也有包。

我们看一个Python中包的例子:

上面我们定义了4个包,分别是sound,sound.formats, sound.effects, sound.filters。

__init__.py 可以是一个空文件,也可以执行包的初始化代码或设置 __all__ 变量。

当导入的时候, python就会在 sys.path 路径中搜索该包。

包的导入有很多种方式,我们可以导入单个模块:

但是这样导入之后,使用的时候必须加载全名:

如果不想加载全名,可以这样导入:

那么就可以这样使用了:

还可以直接导入模块中的方法:

然后这样使用:

如果一个包里面的子包比较多,我们可能会希望使用 * 来一次性导入:

那么如何去控制到底会导入effects的哪一个子包呢?

我们可以在 __init__.py 中定义一个名叫 __all__ 的列表,在这个列表中列出将要导出的子包名,如下所示:

这样from sound.effects import * 将导入 sound 包的三个命名子模块。

如果没有定义 __all__,from sound.effects import * 语句 不会 从包 sound.effects 中导入所有子模块到当前命名空间;它只会导入包 sound.effects。

Import 可以指定相对路径,我们使用 . 来表示当前包, 使用 .. 来表示父包。

如下所示:



❽ python中的模块、库、包有什么区别

模块,库,包主要区别在于他们的定义与所指范围不同。

python模块,包含并且有组织的代码片段为模块,sample.py其中文件名smaple为模块名字。

而包是一个有层次的文件目录结构,它定义了由无数个模块或启搏隐无数个子包组成的python应用程序执行环境。

库的概念是具有相关功能模块的集合。这也是正是Python的一大特色之一,即具有强大的标准库,还有第三方库以及自定义模块。


模块和包是“存储层面”

模块就是一个让你import的文件包就是让你importfrom的地方例如你下载好某个包,然后把这个包解压到某个特定路径,然后就可以fromxxxximportyyyy.py了剩下的概银梁念都是“逻辑层面”,是不分语言的类我不想多解释,随便找本编程入门书去看吧库和框架都是用来定义某个包的使用目的的。

框架相当于定了包的用途,在这个用途上你进行二次开发(例如django相当于是一个websrv端),一般最多也就你在main里去调用它的入口或者通过decorator(@)来注册什么东西到框架里库则是相当于一个工具箱,你可以从中拿出任意工具在任意地点使用一悄厅个包里可以有库,也可以有框架,也可以两者都有


❾ 从C#到Python——5模块和包

本章是《从到Python》系列连载的最后一章 内容较简单 主要介绍Python中模块与包的使用方法 如果你对这部分内容已经比较熟悉 就不要再浪费时间看了 写这一章只是为了整个系列完整而已 没什么新的东西(本章内容主要参考了《Python精要参考》的第八章《模块和包》)

模块

Python的脚本都是用扩展名为py的文本文件保存的 一个脚本可以单独运行 也可以导入另一个脚本中运行 当脚本被导入运行时 我们将其称为模块(mole) 模块是Python组织代码的基本方式

模块名与脚本的文件名相同 例如我们编写了一个名为Items py的脚本 则可在另外一个脚本中用import Items语句来导入它 在导入时 Python解释器会先在脚本当前目录下查找 如果没有则在sys path包含的路径中查找

在导入模块时 Python会做以下三件事

( ) 为模块文件中定义的对象创建一个名字空间 通过这个名字空间可以访问到模块中定义的函数及变量

( ) 在新创建的名字空间里执行模块文件

( ) 创建一个名为模块文件的对象 该对象引用模块的名字空间 这样就可以通过这个对象访问模块中的函数及变量 如

importsys printsys path

如果要同时导入多个模块 可以用逗号分隔 如 import sys os

可以使用as关键字来改变模块的引用对象名 如 import os as system

也可以用from语句将模块中的对象直接导入到当前的名字空间(不创建模块名字空间的引用对象) 如 from socket import gethostname

from语句支持逗号分割的对象 也可以使用星号(*)代表模块中除下划线开头的所有对象 如 from socket import * 这是个懒省事的方法 我是经常用 不过用之前最好先搞清楚会不会覆盖当前名字空间中的函数名等 总之不是个好习惯:)

除了Python脚本(不仅限于py 还包括pyc和pyo) import语句还可以导入C或扩展(已编译为共享库或DLL文件) 包(包含多个模块 一会介绍)和内建模块(使用C编写并已链接到Python解释器内) 不过除了包 另外两个我也没用过:(

Python解释器在第一次import一个py文件的时候 会尝试将其编译为字节码文件 这个文件的扩展名通常为 pyc 它是已经完成语法检查并转译为虚拟机指令的代码 后边的导入操作会直接读取 pyc文件而不是 py文件 一般而言速度会更快

Python的模块可以按目录组织为包(package) 一般来说 我们将多个关系密切的模块组织成一个包 以便于维护和使用 同时可有效避免名字空间冲突 创建一个包的步骤是 建立一个名字为包名字的文件夹 并在该文件夹下创建一个__init__ py文件 你可以根据需要在该文件夹下存放脚本文件 已编译扩展及子包

一个典型的包可能有以下结构:

package / __init__ py subPack / __init__ py mole_ py mole_ py mole_ py subPack / __init__ py mole_ py mole_ py ……

只要目录下存在__init__ py 就表明此目录应被作为一个package处理 在最简单的例子中 __init__ py 是一个空文件 不过一般我们都要在__init__ py中做一些包的初始化动作 或是设定一些变量

最常用的变量是__all__ 当使用包的人在用from pack import * 语句导入的时候 系统会查找目录pack下的__init__ py文件中的__all__这个变量 __all__是一个list 包含了所有应该被导入的模块名称 例如 __all__ = [ m m m ] 表示当from pack import * 时会import 这三个mole

如果没有定义__all__ from pack import * 不会保证所有的子模块被导入 所以要么通过__init py__ 要么显式地import 以保证子模块被导入 如 import pack m pack m pack m

本章小结

本章介绍了Python中模块与包的使用方法 要点如下

( ) 模块是一个可以导入的Python脚本文件

( ) 包是一堆按目录组织的模块和子包 目录下的__init__ py文件存放了包的信息

( ) 可以用import import as form import 等语句导入模块和包

总之 模块与包是在物理上组织Python代码复用的一种有效方式 它有点类似于中的程序集(Assembly) 初学Python不一定要会自己建立模块和包 但一定要学会使用各种包 这正是Python的强大之处 Python带着各种各样的battery 当你想完成一项功能时 最好先去搜索是不是有相关的包能够复用(多数情况下是这样的 因为在各种领域都有太多的人在为Python作着贡献) 而且 绝大多数Python包都是开源的 研读优秀的代码也是提高编程能力的一种有效途径

进一步阅读的参考

《从C#到Python》系列连载到今天就全部写完了 非常感谢各位的支持 鼓励以及批评 使我能够不断完善和提高 读完这个连载 在Python的语法上应该够应付一阵了 当然结合具体的应用领域 还是有很多东西需要不断学习 在此向大家推荐一些有用的读物

[ ] 科学计算方面 这个是我的应用Python的主阵地 推荐HYRY Studio的《用Python做科学计算》(见) 我个人认为非常优秀的一本原创着作(这么好的书不知为何不正式出版 钦佩作者的rp !)

[ ] GUI开发方面 如果你用wxPython 那么肯定要看《wxPython in Action》(中文版见) 而我个人主要用PyQt 这方面值得推荐的读物是柴树杉翻译的《PyQt 编程简介》(见) 如果英文好 还是推荐看《Rapid GUI Programming with Python and Qt》(英文pdf版地址 Oct pdf)

[ ] 开发方面 这个我还没有涉及 Django的资料网上也是大把了 其它的Python Web开发框架也是多如牛毛 自己找找吧 )

lishixin/Article/program/ASP/201311/21672

❿ python中有哪些包

Python的常用包有哪些,分别有什么作用?
Python常用包
1、Numpy 作用:数值运算库
2、Scipy 作用:科学计算库
3、Matplotlib 作用:基础可视化库
4、Pandas 作用:数据处理库
5、Seaborn 作用:高级可视化库
6、Scikit-learn 作用:流行的机器学习库
推荐学习《python教程》。

阅读全文

与python有多少包和模块相关的资料

热点内容
python入门经典pdf下载 浏览:13
东芝变频2p空调压缩机 浏览:223
自家wifi怎么能加密 浏览:642
红米k40加密门禁卡 浏览:845
什么样的源码好看 浏览:156
手机主服务器有什么用 浏览:610
程序编写命令 浏览:597
android发送心跳包 浏览:385
指标源码和原理 浏览:700
汽车空调压缩吸盘 浏览:208
崽崽因app版本不同不能邀请怎么办 浏览:686
poa算法得到的解为全局最优解 浏览:926
python符号表达式 浏览:34
威驰压缩机继电器 浏览:871
华为手机怎么设置移动数据app 浏览:959
空调压缩机哪的厂家多 浏览:390
手指速算法24加7怎么算 浏览:139
如何用python写vlookup函数 浏览:798
社保加密狗厂商 浏览:216
php编译运行说法 浏览:957