Python模块

时间:2020-02-23 14:43:02  来源:igfitidea点击:

Python Module本质上是一个python脚本文件,可以包含变量,函数和类。
Python模块可帮助我们组织代码,然后在其他类或者python脚本中引用它们。

Python模块

包含Python定义和语句的文件称为python模块。
因此,文件名自然是模块名,后缀.py

为了更好地理解,我们创建一个python模块来对其进行全面探索。
首先创建一个名为" printNumbers.py"的文件,其中包含以下内容。

def printForward(n):

  #print 1 to n
  for i in range(n):
      print(i+1)

def printBackwards(n):

  #print n to 1
  for i in range(n):
      print(n-i)

现在,在python解释器中,使用以下命令导入该模块;

import printNumbers

此导入命令将在当前目录和PATH变量位置中查找" printNumbers.py"文件。
找到文件后,文件中的代码将可供我们使用。

现在要访问模块的功能,我们需要使用如下模块名称:

有时,如果模块很大,为简化函数调用,我们可以按以下方式重命名导入:

导入Python模块的特定功能

有时候,不必导入python模块的所有功能。
我们可能只需要一个或者两个功能。
在这种情况下,我们可以使用import语句的以下变体;

这里要注意的一件事是,当我们导入printForward时,它已包含在当前符号表中。
因此,我们不需要调用类似" printNumbers.printForward()"的函数。

有时,另一个变体可能会有用。
其中我们像以前一样使用重命名来简化对函数的使用。

同样,如果我们要导入模块定义的所有名称,则还有另一种导入方式。
这将导入除以下划线(_)开头的所有名称之外的所有名称。
但这不是理想的做法,因为这会在解释器中引入一组未知的名称。

Python模块常见问题解答

让我们看一些与Python模块相关的常见问题。

Python中有哪些内置模块?

Python中有很多内置模块。
一些重要的参数是–集合,日期时间,日志记录,数学,numpy,os,pip,sys和时间。
您可以在Python Shell中执行help('modules')命令以获取可用模块的列表。

Python中的模块和软件包有什么区别?

Python包是python模块的集合。
Python模块是单个python文件,而python package是具有多个python脚本和定义包详细信息的__init __。 py文件的目录。

其中可以找到Python模块列表?

您可以在Python模块索引的官方页面上找到Python模块列表。
但是,如果您正在寻找可用的Python模块,则可以在Python Shell中执行help('modules')命令以获取可用模块的列表。

Python模块列表

请检查此GitHub存储库以获取最重要的python模块列表,并通过其特定的教程和示例程序来学习它们。

如何从其他目录导入模块?

当我们尝试导入python模块时,它会进入当前目录和PATH变量位置。
因此,如果这些位置不存在您的python文件,那么您将得到ModuleNotFoundError
解决方案是导入sys模块,然后将所需目录附加到其path变量。

下面的代码显示了当我们尝试从其他目录导入时的错误,以及如何通过将其目录添加到path变量来修复该错误。

$python3.7
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 26 2016, 23:26:24) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import test123
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'test123'
>>> import sys
>>> sys.path.append('/Users/hyman/temp')
>>> import test123
>>> test123.x
10
>>> test123.foo()
foo
>>>

Python模块列表

有成千上万的Python模块,并且每天都有越来越多的模块开发。
我们已经为许多流行的Python模块编写了教程。
只需点击下表中的链接即可学习这些模块。

Python Modules
Python os module
Python sys module
Python time
Python MySQL
Python CSV
Python multiprocessing
Python pickle
Python time sleep
Python queue
Python unittest
Python socket
Python SimpleHTTPServer
Python json
Python signal
Python random
Python System Command
Python Daemon Thread
Python Copy
Python threading module
Python struct
Python logging
Python subprocess
Python argparse
Python functools
Python itertools
Python getopt
Python ftp
Python tarfile
Python lxml
Python ConfigParser
Python datetime
Python decimal module
Python collections
Python zipfile
Python pdb
Python io
Python fractions
Python AST
Python HTTP
Python xmltodict
Python gzip
Python HTML Parser
Python inspect module
Python Send Email
Python tempfile
Python SQLite
Python shutil
Python timeit
Python getpass module
Python urllib
Python pytz
Python pendulum
Python arrow module