MST

星途 面试题库

面试题:Python中如何从自定义模块导入特定函数

假设你有一个自定义模块`my_module.py`,其中定义了函数`add_numbers`,请描述如何在另一个Python脚本中导入并使用这个`add_numbers`函数。
26.9万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
  1. 同一目录下导入
    • 在另一个Python脚本(假设为main.py)所在目录与my_module.py相同的情况下,在main.py中使用以下代码导入并使用add_numbers函数:
    from my_module import add_numbers
    
    result = add_numbers(3, 5)
    print(result)
    
  2. 不同目录下导入
    • 如果my_module.pymain.py不在同一目录,假设my_module.pyparent_dir目录下,main.pychild_dir目录下。
    • 方法一:使用sys.path
      • main.py中添加如下代码:
    import sys
    sys.path.append('../parent_dir')
    from my_module import add_numbers
    
    result = add_numbers(3, 5)
    print(result)
    
    • 方法二:将parent_dir设置为Python包,在parent_dir目录下创建一个__init__.py文件(可以为空),然后在main.py中使用相对导入(假设main.pychild_dirparent_dirchild_dir的上级目录):
    from..parent_dir.my_module import add_numbers
    
    result = add_numbers(3, 5)
    print(result)
    
    (注意:这种相对导入方式适用于包内模块间的导入,如果main.py作为顶层脚本运行,可能会有些问题,通常在包结构内使用更合适。)