Python:
1、常用那些库
os:操作系统接口 ,open(读写一个文件)、os.path(操作文件路径)、fileinput(读取通过命令行给出的所有文件的所有行)、tempfile(创建临时文件和目录)
random:生成伪随机数
math:数学函数 math.ceil(x)(返回X的上限,大于或等于X的最小整数),math.fabs(x)(返回X的绝对值)
gzip:gzip格式的支持
2、import和from import的区别、form import有哪些缺点
一般来说,模块指的是一个py文件,包(package)指的是一个目录。目录中包含了很多.py文件的文件夹,一般还有一个__init__.py文件,通过这种目录的方式管理多个模块
调用模块:
import模块:导入一个模块的全部内容(包含函数、全局变量、类)
from ..import:可从模块中导入需要的函数/全局变量/类
from.. import *:将模块中的所有资源导入过来使用
from ..import *语句与import区别在于:
import导入模块,每次使用模块中的函数都要指定是那个模块
from ...import * 导入模块,每次使用模块中的函数,直接使用函数就可以了;大部分情况下我们的python程序是不应该使用这种导入方式,因为*你不知道你导入什么名字,很有可能会覆盖掉你之前已经定义的名字,而且可读性极其差
举例:各种import方式,调用的方式不一样
import TEST
TEST.run()
import TEST as t
t.run()
from TEST import run
run()
from TEST import *
run()
调用包:
import package:直接导入一个包,则不会导入任何包中的模块,但是会执行包中的__init__.py文件的内容
from package import *:导入__init__.py中的模块,函数和类
import package.module:
import ceshi_import.TEST
ceshi_import.TEST.run()
from package import module:
from ceshi_import import TEST
ceshi_import.TEST.run()
总结:
import的是package,使用时:package.module
import的是module,使用时:module.func_name;module.class_name
import的是package.module,使用时:package.module.func.name
import的时func,class,使用时:func_name,class_name
注意事项:
from ... import *是不能导入保护属性(单下划线开头)和私有属性(双下划线开头)
被导入的文件一般会搭配__name__变量,此变量是一个内置变量,这个变量记录了当前文件(使用__name__变量)是作为模块运行还是主执行文件。一般将调试的代码写在if语句中,用于调试当前py文件中的代码,因为直接运行