MST

星途 面试题库

面试题:Python中自定义模块的创建及导入方式

请阐述如何在Python中创建一个自定义模块,并说明至少两种不同的导入该模块的方式及它们的适用场景。
20.2万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试

创建自定义模块

  1. 在Python中,创建自定义模块非常简单,只需创建一个.py文件,在该文件中编写函数、类或变量等Python代码,这个.py文件就是一个模块。 例如,创建一个名为my_module.py的文件,内容如下:
def add_numbers(a, b):
    return a + b

class MyClass:
    def __init__(self, value):
        self.value = value
    def show_value(self):
        return self.value

导入模块的方式及适用场景

  1. import语句
    • 语法import module_name
    • 示例import my_module,使用时需通过模块名来访问模块中的函数或类,如result = my_module.add_numbers(2, 3)
    • 适用场景:适用于当需要全面使用模块中的功能,并且希望通过模块名来明确访问来源,避免命名冲突。特别是在多人协作开发或大型项目中,这种方式可以清晰地表明调用的功能来自哪个模块。
  2. from...import语句
    • 语法from module_name import function_name/class_name
    • 示例from my_module import add_numbers,此时可直接使用add_numbers(2, 3),无需通过模块名前缀。
    • 适用场景:当只需要使用模块中的特定功能,且不想每次都输入模块名前缀来访问这些功能时使用。在小型项目或脚本中,如果确定不会发生命名冲突,这种方式可以使代码更简洁。
  3. from...import *语句
    • 语法from module_name import *
    • 示例from my_module import *,之后可直接使用模块中的所有函数和类,如result = add_numbers(2, 3)obj = MyClass(5)
    • 适用场景:不推荐在大型项目中使用,因为可能会导致命名空间混乱,难以追踪变量和函数的来源。但在交互式环境或小型脚本中,当快速测试模块功能且不担心命名冲突时,可以使用。