在Python中创建和导入模块
在Python中,模块是一个自包含的Python文件,其中包含Python语句和定义,就像一个名为GFG.py
的文件,可以认为是一个名为GFG
的模块,可以借助import statement
。但是,人们可能会对模块和包之间的区别感到困惑。包是目录中模块的集合,为模块提供结构和层次结构。
模块的优点 –
- 可重用性:使用模块使代码可重用性成为现实。
- 简单性:模块关注问题的一小部分,而不是关注整个问题。
- 作用域:一个单独的命名空间由一个模块定义,有助于避免标识符之间的冲突。
创建和导入模块
模块只是一个带有.py
扩展名的Python文件,可以在另一个Python程序中导入。 Python文件的名称成为模块名称。该模块包含可以在另一个程序中使用的类、变量和函数的定义和实现。
示例:让我们创建一个名为 GFG 的简单模块。
''' GFG.py '''
# Python program to create
# a module
# Defining a function
def Geeks():
print("GeeksforGeeks")
# Defining a variable
location = "Noida"
上面的示例显示了一个名为 GFG 的简单模块的创建,因为上面的Python文件的名称是 GFG.py。执行此代码时,它什么也不做,因为创建的函数没有被调用。
要使用上面创建的模块,请在同一目录中创建一个新的Python文件并使用 import 语句导入 GFG 模块。
例子:
# Python program to demonstrate
# modules
import GFG
# Use the function created
GFG.Geeks()
# Print the variable declared
print(GFG.location)
输出:
GeeksforGeeks
Noida
上面的例子展示了一个只有函数和变量的简单模块。现在让我们用类、函数和变量创建一个有点复杂的模块。下面是实现。
示例:打开上面创建的 GFG 模块并进行以下更改。
''' GFG.py '''
# Python program to demonstrate
# modules
# Defining a function
def Geeks():
print("GeeksforGeeks")
# Defining a variable
location = "Noida"
# Defining a class
class Employee():
def __init__(self, name, position):
self. name = name
self.position = position
def show(self):
print("Employee name:", self.name)
print("Employee position:", self.position)
在此示例中,已使用 show() 方法声明了一个名为employee 的类,以打印该员工的详细信息。现在打开用于导入和使用此模块的Python脚本。
例子:
# Python program to demonstrate
# modules
import GFG
# Use the class created
emp = GFG.Employee("Nikhil", "Developer")
emp.show()
输出:
Employee name: Nikhil
Employee position: Developer
导入所有名称
模块中的所有对象都可以作为变量导入。这可以防止使用模块名称作为前缀。
句法:
from module_name_ import *
示例:我们将使用上面创建的 GFG 模块。
# Python program to demonstrate
# modules
from GFG import *
# Calling the function
Geeks()
# Printing the variable
print(location)
# Calling class
emp = Employee("Nikhil", "Developer")
emp.show()
输出:
GeeksforGeeks
Noida
Employee name: Nikhil
Employee position: Developer
重命名导入
可以使用用户指定的另一个名称导入模块。
例子:
# Python program to demonstrate
# modules
import GFG as g
# Calling the function
g.Geeks()
# Printing the variable
print(g.location)
# Calling class
emp = g.Employee("Nikhil", "Developer")
emp.show()
输出:
GeeksforGeeks
Noida
Employee name: Nikhil
Employee position: Developer