python中的模块是什么?
简而言之,在python中,一个文件(以“.py”为后缀名的文件)就叫做一个模块,每一个模块在python里都被看做是一个独立的文件。 如果是自定义模块,不要和系统内置的模块名称重复。 模块导入格式:
import 模块名字
模块的三种来源:
1.内置的(python解释器自带)
2.第三方的(别人写的)
3.自定义的(我们自己写的)
模块的四种表现形式:
1.使用python编写的py文件(也就意味着py文件也可以称之为模块:一个py文件也可以称之为一个模块)
2.已被编译为共享库或DLL的C或C++扩展(了解)
3.把一系列模块组织到一起的文件夹(文件夹下有一个__init__.py文件,该文件夹称之为包)包:一系列py文件的结合体
4.使用C编写并连接到python解释器的内置模块
例如,自定义模块,新建一个myUtils.py文件,写了两个函数,一个加法,一个减法:
def add(a, b):
return a + b
def sub(a, b):
return a - b
其它的文件如果想用myUtils里的方法,那就得导入该文件,就像C/C++用#include添加头文件一样。在 testmodule.py中导入myUtils模块。
import myUtils
value1 = myUtils.add(11, 23)
value2 = myUtils.sub(12,34)
print(value1)
print(value2)
from … import 语句
Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中,语法如下:
from modname import name1, name2, ... nameN
例如,datetime模块,该模块有很多日期时间类以及调用方法,下面是datetime模块的部分代码:
import sys
from time import struct_time
from typing import (
AnyStr, Optional, SupportsAbs, Tuple, Union, overload,
ClassVar,
)
class date:
。。。
class time:
class timedelta(SupportsAbs[timedelta]):
class datetime(date):
。。。
如果想用datetime模块的部分方法,又不想全部导入该模块,只需导入部分方法即可,那么就可以用from语句,如下所示:
from datetime import datetime
print(datetime.now())
输出如下: