面试题答案
一键面试创建包含函数的模块
- 创建模块文件:在Python中,一个
.py
文件就是一个模块。例如,创建一个名为mymodule.py
的文件,在其中定义函数,如下:
# mymodule.py
def add_numbers(a, b):
return a + b
在另一个文件中导入并使用模块里的函数
- 创建主文件:创建一个新的Python文件,例如
main.py
,在其中导入并使用mymodule
模块中的函数。
# main.py
import mymodule
result = mymodule.add_numbers(3, 5)
print(result)
这里使用import
语句导入mymodule
模块,通过模块名加函数名的方式调用函数。
常见的导入方式及其区别
import module_name
:- 使用方式:导入整个模块,使用模块中的函数、变量等需要通过
module_name.function_name
的形式。例如import math
,使用math.sqrt(16)
。 - 优点:代码可读性强,明确知道函数或变量来自哪个模块,避免命名冲突。
- 缺点:每次使用模块中的成员都要写模块名,代码冗长。
- 使用方式:导入整个模块,使用模块中的函数、变量等需要通过
from module_name import function_name
:- 使用方式:从模块中导入特定的函数或变量,直接使用函数名或变量名,无需加模块前缀。例如
from math import sqrt
,直接使用sqrt(16)
。 - 优点:使用方便,代码简洁,无需重复写模块名。
- 缺点:可能会导致命名冲突,如果导入的函数名或变量名与当前文件中的已有名称相同,会覆盖原有的名称。
- 使用方式:从模块中导入特定的函数或变量,直接使用函数名或变量名,无需加模块前缀。例如
from module_name import *
:- 使用方式:导入模块中的所有公共成员(不包括以
_
开头的成员),可直接使用模块中的函数、变量等。例如from math import *
,可直接用sqrt(16)
等。 - 优点:使用非常方便,代码极为简洁,无需写模块名或特定导入成员名。
- 缺点:严重影响代码可读性,很难看出函数或变量的来源,并且极易引发命名冲突,不推荐在大型项目中使用,仅适用于交互式环境或小型脚本。
- 使用方式:导入模块中的所有公共成员(不包括以