MST

星途 面试题库

面试题:Python中将函数存储在模块中的基础操作

请简述在Python中,如何创建一个包含函数的模块,并在另一个Python文件中导入并使用这个模块里的函数。同时说明常见的导入方式及其区别。
48.9万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试

创建包含函数的模块

  1. 创建模块文件:在Python中,一个.py文件就是一个模块。例如,创建一个名为mymodule.py的文件,在其中定义函数,如下:
# mymodule.py
def add_numbers(a, b):
    return a + b

在另一个文件中导入并使用模块里的函数

  1. 创建主文件:创建一个新的Python文件,例如main.py,在其中导入并使用mymodule模块中的函数。
# main.py
import mymodule

result = mymodule.add_numbers(3, 5)
print(result) 

这里使用import语句导入mymodule模块,通过模块名加函数名的方式调用函数。

常见的导入方式及其区别

  1. import module_name
    • 使用方式:导入整个模块,使用模块中的函数、变量等需要通过module_name.function_name的形式。例如import math,使用math.sqrt(16)
    • 优点:代码可读性强,明确知道函数或变量来自哪个模块,避免命名冲突。
    • 缺点:每次使用模块中的成员都要写模块名,代码冗长。
  2. from module_name import function_name
    • 使用方式:从模块中导入特定的函数或变量,直接使用函数名或变量名,无需加模块前缀。例如from math import sqrt,直接使用sqrt(16)
    • 优点:使用方便,代码简洁,无需重复写模块名。
    • 缺点:可能会导致命名冲突,如果导入的函数名或变量名与当前文件中的已有名称相同,会覆盖原有的名称。
  3. from module_name import *
    • 使用方式:导入模块中的所有公共成员(不包括以_开头的成员),可直接使用模块中的函数、变量等。例如from math import *,可直接用sqrt(16)等。
    • 优点:使用非常方便,代码极为简洁,无需写模块名或特定导入成员名。
    • 缺点:严重影响代码可读性,很难看出函数或变量的来源,并且极易引发命名冲突,不推荐在大型项目中使用,仅适用于交互式环境或小型脚本。