Python 模块

原文: https://thepythonguru.com/python-modules/


于 2020 年 1 月 7 日更新


Python 模块是一个普通的 python 文件,可以存储函数,变量,类,常量等。模块帮助我们组织相关代码。 例如,python 中的math模块具有与数学相关的函数。

创建模块


创建一个名为mymodule.py的新文件并编写以下代码。

  1. foo = 100
  2. def hello():
  3. print("i am from mymodule.py")

如您所见,我们在模块中定义了全局变量foo和函数hello()。 现在要在程序中使用此模块,我们首先需要使用import语句将其导入

  1. import mymodule

现在您可以使用以下代码在mymodule.py中使用变量和调用函数。

  1. import mymodule
  2. print(mymodule.foo)
  3. print(mymodule.hello())

预期输出

  1. 100
  2. i am from mymodule.py

请记住,您需要先指定模块名称才能访问其变量和函数,否则将导致错误。

结合使用fromimport


使用import语句会导入模块中的所有内容,如果只想访问特定的函数或变量该怎么办? 这是from语句的来源,这里是如何使用它。

  1. from mymodule import foo # this statement import only foo variable from mymodule
  2. print(foo)

预期输出

  1. 100

注意

在这种情况下,您无需指定模块名称即可访问变量和函数。

dir()方法


dir()是一种内置方法,用于查找对象的所有属性(即所有可用的类,函数,变量和常量)。 正如我们已经在 python 中讨论的所有对象一样,我们可以使用dir()方法来查找模块的属性,如下所示:

  1. dir(module_name)

dir()返回包含可用属性名称的字符串列表。

  1. >>> dir(mymodule)
  2. ['__builtins__', '__cached__', '__doc__', '__file__',
  3. '__loader__', '__name__', '__package__', '__spec__', 'foo', 'hello']

如您所见,除了foohello之外,mymodule中还有其他属性。 这些是 python 自动提供给所有模块的内置属性。

恭喜您已经完成了掌握 Python 所需的所有构建基块!!