Python中的模块和包相关函数使用详解
Python是一种典型的面向对象编程语言,它的核心思想是封装、继承和多态。Python中的模块和包是Python程序中非常重要的组件,模块是一个包含Python代码的文件,包是一个包含模块和其他包的目录。本篇文章将介绍Python中与模块和包相关的函数使用方法。
1.导入模块
1.1 import语句
在Python中,使用import关键字来导入模块,语法格式为:
import module1[, module2[,... moduleN]
其中module1,module2......是要导入的模块名,多个模块名之间用逗号分隔,如果要导入的模块没有被安装,需要先用pip工具安装。
示例:
#导入sys模块
import sys
#导入math模块
import math
#导入os模块
import os
1.2 from...import...语句
有时我们只需要导入一个模块中的部分函数或对象,可以使用from...import...语句,语法格式如下:
from module_name import object(s)
示例:
#导入sys模块的argv变量
from sys import argv
#导入math模块的pi常量和sin函数
from math import pi, sin
#导入os模块的所有方法和属性
from os import *
1.3 import...as...语句
有时候模块名很长,会影响代码的可读性,使用import...as...语句给模块取一个别名,语法格式为:
import module_name as alias
示例:
#导入numpy模块,并给它取一个别名为np
import numpy as np
#导入pandas模块,并给它取一个别名为pd
import pandas as pd
2.使用模块
使用import语句导入模块后,可以使用模块中定义的函数、变量和类等对象。
2.1 使用模块中的函数和变量
示例:
#导入sys模块
import sys
#使用sys模块中的argv变量和exit函数
print(sys.argv)
sys.exit()
#导入math模块
import math
#使用math模块中的sqrt函数和pi常量
print(math.sqrt(2))
print(math.pi)
2.2 使用模块中的类
示例:
#导入datetime模块
import datetime
#使用datetime模块中的date类和today方法
d = datetime.date.today()
print(d)
#使用datetime模块中的time类和now方法
t = datetime.time.now()
print(t)
#使用datetime模块中的datetime类和now方法
dt = datetime.datetime.now()
print(dt)
3.创建包
Python中的包是一个包含多个模块或子包的目录,用于组织Python代码。创建包的方法很简单,只需要在目录下创建一个__init__.py文件即可,这个文件可以为空,也可以包含Python代码。
示例:
假设我要创建一个名为test的包,包含两个模块m1和m2,在test目录下新建一个__init__.py文件,然后在test目录下分别创建m1.py和m2.py文件,代码如下:
__init__.py文件:
#空文件
m1.py文件:
def add(a, b):
return a + b
m2.py文件:
def sub(a, b):
return a - b
4.使用包中的模块
使用import语句可以导入包中的模块,导入时需要指定包名和模块名,中间用点号(.)分隔。
示例:
#导入test包下的m1模块
from test import m1
#导入test包下的m2模块
from test import m2
#使用m1模块中的add函数
print(m1.add(1, 2))
#使用m2模块中的sub函数
print(m2.sub(3, 4))
5.使用包中的子包
在包中创建子包的方法类似于在包中创建模块,只需要在包的目录下再创建一个目录,并在这个目录下也创建一个__init__.py文件即可。
示例:
假设我要在test包中创建一个名为sub的子包,包含一个模块m3,在test目录下创建一个sub目录,并在这个目录下创建一个__init__.py文件和一个m3.py文件,代码如下:
sub/__init__.py文件:
#空文件
sub/m3.py文件:
def mul(a, b):
return a * b
使用子包中的模块时,需要在导入时指定完整的包名和模块名,中间用点号(.)分隔。
示例:
#导入test包下的sub包下的m3模块
from test.sub import m3
#使用m3模块中的mul函数
print(m3.mul(2, 5))
以上是Python中模块和包的相关函数使用方法的详解。
