Python是一门功能强大的语言,可以让我们使用许多内置函数和模块来处理各种任务。但是,有时候这些内置函数和模块并不能完全满足我们的需求,这时候就需要引入外部模块来使用。在Python中,我们可以使用import语句来引入外部模块,并且使用这些模块中的函数、变量或类。
一、基本使用
使用import语句可以将一个模块中的定义导入到当前模块的命名空间中。模块可以是Python标准库中的模块,也可以是我们自己编写的模块。
import 模块名 from 模块名 import 对象名
比如,我们可以使用以下代码来导入Python标准库中的math模块:
import math
此时,我们就可以使用math模块中定义的函数和常量,比如:
import math print(math.pi) # 3.141592653589793 print(math.sin(math.pi / 2)) # 1.0 print(math.sqrt(16)) # 4.0
我们还可以使用from-import语句从模块中导入指定对象,比如:
from math import pi, sin, sqrt print(pi) # 3.141592653589793 print(sin(pi / 2)) # 1.0 print(sqrt(16)) # 4.0
这样,我们可以直接使用变量pi、函数sin和函数sqrt,而不需要使用模块名作为前缀。
二、自定义模块
在Python中,我们可以编写自己的模块,也可以使用其他开发者编写的模块。为了编写自己的模块,我们只需要编写包含Python代码的普通.py文件,并将该文件放入一个包含__init__.py文件的文件夹中。__init__.py文件指定了包的导入行为。
例如,假设我们有一个名为my_module的模块,它包含以下代码:
def func(x): return x * x
我们可以在同一目录下创建一个名为main.py的文件,用于调用my_module中的函数。
import my_module print(my_module.func(3)) # 9
这样就可以使用my_module中定义的函数,而my_module.py本身不需要做任何修改。
三、使用as关键字
在Python中,我们可以使用as关键字给模块、函数或变量指定别名。这样可以让代码更加简洁易读。
例如,我们可以使用以下代码导入math模块,并将其命名为m:
import math as m print(m.sin(m.pi / 2)) # 1.0
我们还可以使用as关键字给导入的函数或变量指定别名,比如:
from math import sin as s, pi as p print(s(p / 2)) # 1.0
四、使用*导入所有对象
在Python中,我们可以使用*通配符导入模块中的所有对象。这样做虽然可以让代码更加简单,但是不太安全,因为可能会覆盖现有的变量或函数。
例如:
from math import * print(pi) # 3.141592653589793 print(sin(pi / 2)) # 1.0 print(sqrt(16)) # 4.0
由于使用了*通配符,我们可以直接使用math模块中的所有函数和常量。
五、使用dir函数查看模块中的定义
在Python中,我们可以使用内置函数dir()来查看模块中定义的所有名称。dir()函数返回一个列表,其中包含了模块中所有的变量、函数和类的名称。
例如,我们可以使用以下代码来查看math模块中的所有名称:
import math print(dir(math))
运行结果中会输出math模块中的所有变量、函数和类的名称:
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'lcm', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
通过dir()函数,我们可以快速了解一个模块中定义的所有对象。
六、使用help函数获取帮助信息
Python中的每个模块、函数和类都有相应的文档字符串。文档字符串中包含了有用的信息,比如对象的使用说明、参数说明以及返回值说明等。
我们可以使用内置函数help()来获取指定对象的文档字符串。
例如,我们可以使用以下代码来查看math模块中sin函数的文档字符串:
import math help(math.sin)
运行结果中会输出sin函数的文档字符串:
Help on built-in function sin in module math: sin(x, /) Return the sine of x (measured in radians).
通过help()函数,我们可以获取到对象的详细使用说明。
七、总结
在Python中,使用import语句可以引入外部模块,并且使用这些模块中的函数、变量或类。我们可以使用from-import语句从模块中导入指定对象,使用as关键字给模块、函数或变量指定别名,使用*通配符导入模块中的所有对象。此外,我们还可以使用dir()函数查看模块中定义的所有名称,使用help()函数获取对象的帮助文档。