文章目录

  • 一、自定义模块
  • 1、制作自定义模块
  • 2、使用 import 导入并使用自定义模块
  • 3、使用 from 导入并使用自定义模块中的函数
  • 二、导入模块冲突问题
  • 1、导入自定义模块功能名称冲突问题
  • 3、模块功能冲突代码示例







一、自定义模块




1、制作自定义模块



新建 Python 文件 ,

【Python】模块导入 ④ ( 自定义模块 | 制作自定义模块 | 使用 import / from 导入并使用自定义模块中的函数 | 导入自定义模块功能名称冲突问题 )_模块名称冲突

自定义一个 模块名称 ;

【Python】模块导入 ④ ( 自定义模块 | 制作自定义模块 | 使用 import / from 导入并使用自定义模块中的函数 | 导入自定义模块功能名称冲突问题 )_模块导入_02

在 自定义模块 my_module.py 中定义函数 :

def add(a, b):
    return a + b

【Python】模块导入 ④ ( 自定义模块 | 制作自定义模块 | 使用 import / from 导入并使用自定义模块中的函数 | 导入自定义模块功能名称冲突问题 )_模块导入_03



2、使用 import 导入并使用自定义模块



在另外的文件中 , 导入 my_module 模块 , 然后通过 my_module.add 调用 my_module 模块中的 add 函数 ;

代码示例 :

"""
自定义模块 代码示例
"""

# 导入自定义模块
import my_module

num = my_module.add(1, 2)
print(num)

执行结果 :

D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py
3

Process finished with exit code 0

【Python】模块导入 ④ ( 自定义模块 | 制作自定义模块 | 使用 import / from 导入并使用自定义模块中的函数 | 导入自定义模块功能名称冲突问题 )_模块名称冲突_04



3、使用 from 导入并使用自定义模块中的函数



代码示例 :

"""
自定义模块 代码示例
"""

# 导入自定义模块
from my_module import add

num = add(1, 2)
print(num)

执行结果 :

D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py
3

Process finished with exit code 0

【Python】模块导入 ④ ( 自定义模块 | 制作自定义模块 | 使用 import / from 导入并使用自定义模块中的函数 | 导入自定义模块功能名称冲突问题 )_python_05






二、导入模块冲突问题




1、导入自定义模块功能名称冲突问题



如果 两个模块中 , 都定义了 相同名称 的函数 , 同时使用

from module_name import specific_name

方式 , 到了两个模块中 相同名称 的函数 ,

此时 , 就会出现 名称冲突 问题 , 这种情况下 后导入的 功能生效 , 先导入的功能被覆盖 ;



3、模块功能冲突代码示例



在 my_module.py 模块中 , 定义了 如下 add 函数 ;

def add(a, b):
    print("调用 my_module 模块中的功能")
    return a + b

【Python】模块导入 ④ ( 自定义模块 | 制作自定义模块 | 使用 import / from 导入并使用自定义模块中的函数 | 导入自定义模块功能名称冲突问题 )_开发语言_06

在 my_module2.py 模块中 , 定义了 如下 add 函数 ;

def add(a, b):
    print("调用 my_module2 模块中的功能")
    return a + b + 1

【Python】模块导入 ④ ( 自定义模块 | 制作自定义模块 | 使用 import / from 导入并使用自定义模块中的函数 | 导入自定义模块功能名称冲突问题 )_模块名称冲突_07

在 主代码中 , 同时导入两个模块的 add 函数 , 后导入的模块功能生效 ;

"""
自定义模块 代码示例
"""

# 导入自定义模块
from my_module import add
from my_module2 import add

num = add(1, 2)
print(num)

执行结果 : 最终执行的是 my_module2.py 模块中的 add 函数功能 ;

D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py
调用 my_module2 模块中的功能
4

Process finished with exit code 0

【Python】模块导入 ④ ( 自定义模块 | 制作自定义模块 | 使用 import / from 导入并使用自定义模块中的函数 | 导入自定义模块功能名称冲突问题 )_模块名称冲突_08