python import有哪些用法?如何使用?

Python的import机制用于组织和复用代码,支持导入标准库、第三方库或自定义模块。1. 使用import module_name可导入整个模块,需通过模块名前缀访问内容,如math.sqrt(16);2. 使用from module import name可直接导入指定函数、类或变量,无需前缀,如from math import sqrt;3. 可通过as设置别名简化命名或避免冲突,如import numpy as np;4. from module import *可导入所有公开名称,但易造成命名污染,不推荐在生产环境使用;5. 自定义模块(.py文件)可在同一路径下直接导入,如import myutils;6. 包含__init__.py的文件夹可作为包,支持层级导入,如from package.module import func。注意路径配置与循环引用问题。

Python 的 import 机制是组织和复用代码的核心方式。通过 import,你可以使用标准库、第三方库或自己写的模块中的函数、类和变量。下面介绍常见的用法和使用方法。

1. 基本 import 用法

导入整个模块,使用时需要加上模块名前缀。

  • import module_name:导入整个模块
  • 使用 module_name.function()module_name.variable 来访问内容

例如:

import math
print(math.sqrt(16))  # 输出 4.0

2. 使用 from...import 导入特定内容

从模块中直接导入函数、类或变量,使用时不需要加模块前缀。

  • from module import name:导入指定名称
  • from module import name1, name2:导入多个名称

例如:

from math import sqrt, pi
print(sqrt(25))  # 直接调用,无需 math.
print(pi)        # 直接使用 pi

3. 使用 as 进行别名

给导入的模块或名称起别名,简化书写或避免命名冲突。

  • import module as alias
  • from module import name as alias

例如:

import numpy as np
from datetime import datetime as dt

arr = np.array([1, 2, 3]) now = dt.now()

4. 导入模块中的所有内容(谨慎使用)

使用 * 可以导入模块中所有公开名称,但容易造成命名污染

from module import *

例如:

from math import *
print(sin(0))  # 可以直接使用,但不推荐

这种方式在大型项目中容易引发变量覆盖问题,建议只在临时测试或交互环境中使用。

5. 导入自定义模块

你写的 .py 文件也可以作为模块被导入。只要文件在 Python 路径中(如当前目录),就可以导入。

比如有一个文件 myutils.py

# myutils.py
def greet(name):
    return f"Hello, {name}"

在另一个文件中导入:

import myutils
print(myutils.greet("Alice"))

或者

from myutils import greet print(greet("Bob"))

6. 导入包(Package)中的模块

当模块被组织在文件夹中(即包),可以使用点号层级导入。

  • import package.module
  • from package import module
  • from package.subpackage import module

确保每个文件夹中有 __init__.py(可以为空),Python 才会将其识别为包。

基本上就这些。import 不复杂但容易忽略细节,比如路径问题或循环导入,实际使用时注意结构清晰就好。