python中import如何使用

1. Python中import的作用

在Python中,import语句用于引用其他模块中定义的代码,以便在当前模块中使用。

常见的使用方式有:

import module_name

from module_name import function_name / class_name

from module_name import *

import module_name as alias_name

1.1 import module_name

可以使用import语句来导入一个模块。例如,我们可以导入Python中的一个常用模块math:

import math

print(math.pi) # 3.141592653589793

print(math.sqrt(16)) # 4.0

这里使用的是math模块的常量和函数,使用时需要加上模块名。

1.2 from module_name import function_name / class_name

使用from...import语句,可以直接导入指定的函数或类,无需使用模块名。

from math import sin, cos  # 导入math模块中的sin,cos函数

x = math.pi / 2

print(sin(x)) # 1.0

print(cos(x)) # 6.123233995736766e-17

上述代码中,指定了导入两个函数sin, cos。

类的导入方式与函数类似,可以直接导入类,然后使用类名进行引用。

1.3 from module_name import *

使用from...import *语句,可以直接导入所有函数和类,但是不建议这么做,因为可能会导致变量名的冲突。

from math import *

print(pi) # 3.141592653589793

print(sqrt(16)) # 4.0

1.4 import module_name as alias_name

使用import语句时,还可以为模块指定别名:

import math as m

print(m.pi) # 3.141592653589793

print(m.sqrt(16)) # 4.0

此时,可以使用别名m来代替math模块名。

2. Python中import的用法

在Python中,import语句还可以用于其他方面,例如导入指定文件夹下的所有模块。

2.1 导入指定文件夹下的所有模块

假设我们有一个文件夹,里面包含多个Python模块,并且这些模块的文件名都以.py结尾。下面代码演示如何导入这个文件夹下的所有模块:

import os

import glob

module_folder = 'my_folder' # 模块所在的文件夹

module_search_path = os.path.join('.', module_folder, '*.py') # 模块的搜索路径(.表示当前目录)

# 获取所有的模块文件名,并导入模块

for file in glob.glob(module_search_path):

module_name = os.path.splitext(os.path.basename(file))[0] # 获取模块名

module = __import__(module_name) # 动态导入模块

上述代码中,使用glob模块和os模块来获取指定文件夹下的所有.py文件和文件名,并使用__import__()方法动态导入每个模块。

2.2 导入同级目录下子模块

使用import语句时,有时候需要把同级目录下的子模块导入进来,这时可以使用from..import语句。

例如,我们有以下目录结构:

root/

├── main.py

└── subfolder/

├── __init__.py

└── submod.py

在main.py中,我们可以通过以下语句引入submod.py中的函数:

from subfolder.submod import my_function

这样,在main.py中就可以使用my_function函数了。

3. Python中import的注意事项

在使用import语句时,需要注意以下几点:

3.1 循环导入

如果模块之间存在循环导入的情况,程序会出现错误。例如,有两个模块a.py和b.py,其中a.py导入了b.py,而b.py也导入了a.py:

# a.py

import b

def my_function():

pass

# b.py

import a

def my_function():

pass

此时,调用my_function时,会导致循环导入。

3.2 导入标准库和第三方库

Python中自带了许多标准库和第三方库,使用import语句时,需要先确保这些库已经安装好。

标准库可以不用安装,直接使用import语句导入,例如常用的math、os等模块可以直接导入。

而第三方库则需要使用pip命令进行安装。例如,我们想安装requests库:

pip install requests

安装好后,就可以在Python中使用requests模块了。

3.3 导入自己编写的模块

在导入自己编写的模块时,需要注意以下几点:

模块名不能包含空格、特殊字符等

模块名最好与文件名相同

如果模块和调用它的脚本在同一级目录下,可以直接使用import语句导入

如果模块和调用它的脚本在不同的目录下,需要指定路径并使用import语句导入

例如,我们有以下目录结构:

root/

├── main.py

└── mymodule/

├── __init__.py

└── mymod.py

脚本main.py调用了mymodule中的mymod.py中的函数,可以使用以下语句导入:

from mymodule.mymod import my_function

如果在调用脚本时遇到“ModuleNotFoundError”错误,可能是因为Python无法找到模块,这时需要加入以下语句:

import sys

sys.path.append('/path/to/your/module/folder')

其中赋值的路径为模块所在的路径。

4. 总结

本文介绍了Python中import语句的作用和用法,包括使用import语句导入模块、导入指定文件夹下的所有模块、导入同级目录下子模块等,并且提到了注意事项,希望本文对初学者有所帮助。

后端开发标签