以下是目前我们已经渗透过的内建函数:
int()
创建或者将其他数据转化为整型
float()
创建或者将其他数据转化为浮点型
bool()
创建或者将其他数据转化为布尔型
complex()
创建或者将其他数据转化为复数
str()
创建或者将其他数据转化为字符串
list()
创建或者将其他数据转化为列表
tuple()
创建或者将其他数据转化为元组
set()
创建或者将其他数据转化为集合
dict()
创建或者将其他数据转化为字典
以上函数可以用于创建或者进行类型转换
id()
获取变量的id标志
type()
获取变量的类型字符串
print()
打印变量的值
locals()
打印当前环境中所有的变量
abs()
获取一个数值的绝对值
sum()
计算一个序列的数值和
max()
获取最大值
格式1:max(序列)
返回值:序列中的最大值
格式2:max(参数1,参数2...)
返回值:多个参数中的最大值
min()
获取最小值
格式1:min(序列)
返回值:序列中的最小值
格式2:min(参数1,参数2...)
返回值:多个参数中的最小值
pow()
获取一个数值的N次方
round()
对一个数值进行四舍五入操作
range()
产生连续数据的序列
格式1:range(结束值)
返回值:0-结束值之间的序列
格式2:range(开始值,结束值)
返回值:开始-结束值之间的序列
格式3:range(开始值,结束值,间隔值)
返回值:开始-结束值之间指定间隔的数据的序列
hex()
将十进制转化为16进制
oct()
将十进制转化为8进制
bin()
将十进制转化为2进制字符串相关:
chr()
将ascii编码转化为字符
print(chr(65)) #将ASCII编码转换为字符
ord()
将字符转化为ascii编码
print(ord("A")) #将字符转换为你ASCII编码
repr()
获取任意数据的原始格式字符串
s = 'zbcd' print(repr(s))
eval()
将一个字符串当作python代码执行,字符串需要符合代码规范和repr配合
a = "print('chenjunjie')" eval(a)
引入模块:import math
注意: 使用某个模块下的函数,必须先引入这个模块,否则无法正常使用。
ceil()
向上取整操作
格式:math.ceil(数值)
返回值:整型
floor()
向下取整操作
格式:math.floor(数值)
返回值:整型
round()
四舍五入操作
格式:round(数值)
返回值:整数
注意:此函数不在math模块当中!!!
pow()
计算一个数值的N次方
格式: math.pow(底数,幂)
返回值:浮点类型
注意:该操作相当于**运算但是结果为浮点型
sqrt()
开平方
格式:math.sqrt(数值)
返回值:浮点数
fabs()
对一个数值获取其绝对值操作
格式:math.fabs(数值)
返回值:浮点数
abs()
对一个数值获取其绝对值操作
格式:abs(数值)
返回值:可能是整数可以能浮点数
注意:abs() 他是内建函数 同时返回值根据原类型决定 modf()
将一个浮点数拆成整数和小数部分组成的元组
格式:math.modf(数值)
返回值:元组 (小数部分,整数部分)
copysign()
将第二个数的正负号复制给第一个数 格式:math.copysign(值1,值2) 返回值:值1 符号是值2的正负号fsum()
将一个序列的数值进行相加求和 格式:math.fsum(序列) 返回值:浮点数 sum()
将一个序列的数值进行相加求和 格式:sum(序列) 返回值:数值类型 模块提供的常见值 pi
引入模块:import random
random()
获取0~1之间的随机小数包含0不包含1
格式:random.random()
返回值:浮点数
choice()
随机获取列表中的值
格式:random.choice(序列)
返回值:序列中的某个值
shuffle()
随机打乱序列
格式:random.shuffle(序列)
返回值:打乱顺序的序列
randrange()
获取指定范围内指定间隔的随机整数数
格式:random.randrange(开始值,结束值[,间隔值])
返回值:整数
uniform()
随机获取指定范围内的所有数值包括小数
格式:random.uniform(开始值,结束值)
返回值:随机返回范围内的所有数值(浮点型)
OS模块
os模块中的函数
getcwd()
功能:获取当前的工作目录
格式:os.getcwd()
返回值:路径字符串
chdir()
功能:修改当前工作目录
格式:os.chdir()
返回值:None
listdir()
功能:获取指定文件夹中的所有文件和文件夹组成的列表
格式:os.listdir(目录路径)
返回值:目录中内容名称的列表
mkdir()
功能:创建一个目录/文件夹
格式:os.mkdir(目录路径)
返回值:None
makedirs()
功能:递归创建文件夹
格式:os.makedirs(路径)
rmdir()
功能:移除一个目录(必须是空目录)
格式:os.rmdir(目录路径)
返回值:None
removedirs()
功能:递归删除文件夹
格式:os.removedirs(目录路径)
返回值:None
注意: 如:删除 D:/a/b/c
如果abc文件夹中除了路径显示的文件夹之外没有任何其他文件或者文件夹,removedirs会移除掉所有文件夹a,b,c
如果abc任意文件夹中包含其他文件和文件夹,则该成文件夹不会被删除,如果是最底层的c文件夹则会爆出非空错误!
rename()
功能:修改文件和文件夹的名称
格式:os.rename(源文件或文件夹,目标文件或文件夹)
返回值:None
功能:获取文件的相关信息
格式:os.stat(文件路径)
返回值:包含文件信息的元组
inode:(索引节点)
st_mode #权限模式
st_ino #inode number inode节点号
st_dev #驻留的设备
st_nlink #number of hard links inode链接数
st_uid #所有用户的user id 所有者的用户ID
st_gid #所有用户的group id 所有者的组ID
st_size #文件的大小,以位为单位
st_atime #文件最后访问时间
st_mtime #文件最后修改时间
st_ctime #文件创建时间
执行系统命令
格式:os.system()
返回值:整型
慎用! 不小心来个 rm -rf / 欲哭无泪!
os.environ模块
os.environ
可以直接获取所有环境变量的信息组成的字典,如果希望更改环境变量,并且可以查询得到,就需要对os.environ进行操作
该模块的所有方法均是字典的方法,可以通过字典的os.environ的结果进行操作。
注意:无论使用os.getenv,putenv 还是使用os.environ进行环境变量的操作,都是只对当前脚本,临时设置而已,无法直接更新或者操作系统的环境变量设置。
os.path模块
os.path是os模块中的子模块,包含很多和路径相关的操作
功能:获取路径中的文件夹或者文件名称(只要路径的最后一部分)
格式:os.path.basename(路径)
返回值:路径的最后一部分(可能是文件名也可能是文件夹名)
功能:获取路径中的路径部分(出去最后一部分)
格式:os.path.dirname(路径)
返回值:路径中除了最后一部分的内容字符串
功能:将2个路径合成一个路径
格式:os.path.join(路径1,路径2)
返回值:合并之后的路径
功能:将一个路径切割成文件夹和文件名部分
格式:os.path.split(路径)
返回值:元组
功能:将一个文件名切成名字和后缀两个部分
格式:os.path.splitext(文件名称)
返回值:元组(名称,后缀)
zipfile zip文件操作
引入模块:
zip文件格式是通用的文档压缩标准,在ziplib模块中,使用ZipFile类来操作zip文件,下面具体介绍一下:
zipfile.ZipFile(file[, mode[, compression[, allowZip64]]])
功能:创建一个ZipFile对象,表示一个zip文件。
参数:
-参数file表示文件的路径或类文件对象(file-like object)
-参数mode指示打开zip文件的模式,默认值为r
r 表示读已经存在的zip文件
w 表示新建一个zip文档或覆盖一个已经存在的zip文档
a 表示将数据附加到一个现存的zip文档中。
-参数compression表示在写zip文档时使用的压缩方法
zipfile.ZIP_STORED 只是存储模式,不会对文件进行压缩,这个是默认值
zipfile.ZIP_DEFLATED 对文件进行压缩
-如果要操作的zip文件大小超过2G,应该将allowZip64设置为True。
ZipFile.getinfo(name)
功能:获取zip文档内指定文件的信息。返回一个zipfile.ZipInfo对象,它包括文件的详细信息。将在下面 具体介绍该对象。
ZipFile.infolist()
功能:获取zip文档内所有文件的信息,返回一个zipfile.ZipInfo的列表。
ZipFile.namelist()
功能:获取zip文档内所有文件的名称列表。
ZipFile.extract(member[, path[, pwd]])
功能:将zip文档内的指定文件解压到当前目录。
参数:
member 指定要解压的文件名称或对应的ZipInfo对象
path 指定解析文件保存的文件夹
pwd 解压密码
下面一个例子将保存在程序根目录下的txt.zip内的所有文件解压到D:/Work目录:
import zipfile, os
zipFile = zipfile.ZipFile(os.path.join(os.getcwd(), 'txt.zip'))
for file in zipFile.namelist():
zipFile.extract(file, r'd:/Work')
zipFile.close()
ZipFile.extractall([path[, members[, pwd]]])
功能:解压zip文档中的所有文件到当前目录。
参数:
members 默认值为zip文档内的所有文件名称列表,也可以自己设置,选择要解压的文件名称。
ZipFile.printdir()
功能:将zip文档内的信息打印到控制台上。
ZipFile.setpassword(pwd)
功能:设置zip文档的密码。
ZipFile.read(name[, pwd])
功能:获取zip文档内指定文件的二进制数据。
创建压缩文件
a = zipfile.ZipFile('E:\\hehe.zip','w') #创建压缩文件的名称 和存放的地址,“w”新建一个zip文档,覆盖已经存在的zip文档 a.write("E:\\122.docx") #写入要进行压缩的文件 a.close() #关闭
解压缩文件
a = zipfile.ZipFile('E:\\hehe.zip') #打开要解压的文件 a.extractall("E:\\") #解压文件存放的地址 a.close() #关闭文件
shutil模块
引入: import shutil
copy()
功能:复制文件
格式:shutil.copy('来源文件','目标地址')
返回值:复制之后的路径
copy2()
功能:复制文件,保留元数据
格式:shutil.copy2('来源文件','目标地址')
返回值:复制之后的路径
copyfileobj()
将一个文件的内容拷贝的另外一个文件当中
格式:shutil.copyfileobj(open(来源文件,'r'),open('目标文件','w'))
返回值:无
copyfile()
功能:将一个文件的内容拷贝的另外一个文件当中
格式:shutil.copyfile(来源文件,目标文件)
返回值:目标文件的路径
copytree()
功能:复制整个文件目录
格式:shutil.copytree(来源目录,目标目录)
返回值:目标目录的路径
注意:无论文件夹是否为空,均可以复制,而且会复制文件夹中的所有内容
copymode()
功能:拷贝权限
copystat()
功能:拷贝元数据(状态)
rmtree()
功能:移除整个目录,无论是否空
格式:shutil.rmtree(目录路径)
返回值:无
move()
功能:移动文件或者文件夹
格式:shutil.move(来源地址,目标地址)
返回值:目标地址
which() 功能:检测命令对应的文件路径 格式:shutil.which(‘命令字符串’) 返回值:命令文件所在位置 注意:window和linux不太一样。 window的命令都是.exe结尾,linux则不是 disk_usage()
功能:检测磁盘使用信息
格式:disk_usage(‘盘符’)
返回值:元组
归档:将多个文件合并到一个文件当中,这种操作方式就是归档。
解包:将归档的文件进行释放。
压缩:压缩时将多个文件进行有损或者无损的合并到一个文件当中。
解压缩:就是压缩的反向操作,将压缩文件中的多个文件,释放出来。
注意:压缩属于归档!
make_archive()
功能:归档函数,归档操作
格式:shutil.make_archive('目标文件路径','归档文件后缀','需要归档的目录')
返回值:归档文件的最终路径
unpack_archive()
功能:解包操作
格式:shutil.unpack_archive('归档文件路径','解包目标文件夹')
返回值:None
注意:文件夹不存在会新建文件夹
get_archive_formats()
功能:获取当前系统已注册的归档文件格式(后缀)
格式:shutil.get_archive_formats()
返回值:列表 [(后缀,解释),(后缀,解释),(后缀,解释)...]
get_unpack_formats()
功能:获取当前系统已经注册的解包文件格式(后缀)
格式:shutil.get_unpack_formats()
返回值:列表 [(后缀,解释),(后缀,解释),(后缀,解释)...]
calendar 日历模块
time 时间模块
datetime 日期时间模块
timeit 时间检测模块
import calendar
calendar()
功能:获取指定年份的日历字符串
格式:calendar.calendar(年份,w=2,l=1,c=6,m=3)
返回值:字符串
w表示 2个日期之间的间隔字符长度
l表示 一个周占用几个行高度
c表示2个月份之间的空白间隔
m表示一行显示几个月
month()
功能:获取指定年月的日历字符串
格式:calendar.month(年,月,w=2,l=1)
返回值:字符串A
monthcalendar()
功能:获取一个年月的矩阵列表
格式:calendar.monthcalendar(年,月)
返回值:二级列表
[
[0, 0, 0, 0, 0, 1, 2],
[3, 4, 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14, 15, 16],
[17, 18, 19, 20, 21, 22, 23],
[24, 25, 26, 27, 28, 29, 30],
[31, 0, 0, 0, 0, 0, 0]
]
结果中0表示不是该月的数值,1-31才是当月信息
isleap()
功能:检测指定年份是不是闰年
格式:calendar.isleap(年份)
返回值:布尔值
leapdays()
功能:检测指定年份之间的闰年个数
格式:calendar.leapdays(开始年份,结束年份)
返回值:整数
注意:包含开始年份不包含结束年份
monthrange()
功能:获取一个月的周几开始及当月天数
格式:calendar.monthrange(年,月)
返回值:元组(周几,天数)
注意:0-6表示周一到周天
weekday()
功能:根据年月日计算周几
格式:calendar.weekday(年,月,日)
返回值:整型 0-6 表示周一到周天
timegm()
功能:将时间元组转化为时间戳
格式:calendar.timegm(时间元组)
返回值:时间戳
时间戳是一种用于表示时间的方式。从1970年1月1日0时0分0秒0毫秒开始到指定时间的秒数。世间戳也叫做unix时间戳,1970年1月1日成为unix元年。
作用:是为了方便时间的统一运算。
1.从1970年1月1日开始计算。
2.能够使用到2038年的某一天
3.如果使用太远的未来或者1970年以前的时间可能出现异常
UTC时间
UTC时间又称之为世界协调时间。特指格林尼治天文台所在位置的时间也叫做格林尼治时间。
中国的时区是东八区,和世界协调时间差了8个小时,多个八个小时
夏令时就是通过在夏季将时间调快一小时,来提醒大家早睡早起身体好,节省蜡烛!
每天的时钟变成了25个小时,注意本质还是24个小时
时间元组struct_time
时间元组就是一个用于表示时间格式的元组数据而已,他是time模块操作时间的主要方式。
(tm_year=2017, tm_mon=7, tm_mday=4, tm_hour=9, tm_min=4, tm_sec=21, tm_wday=1, tm_yday=185, tm_isdst=0)
格式:(年,月,日,时,分,秒,周几,一年中的第几天,是否是夏令时)
索引 名称 内容 取值
0 tm_year 年 4位数年份 2017
1 tm_month 月 1~12
2 tm_day 日 1~31
3 tm_hour 时 0~23
4 tm_min 分 0~59
5 tm_sec 秒 0~61 60闰秒,61是历史保留
6 tm_wday 周几 0~6 周一~周天
7 tm_yday 一年中的第几天 1~366
8 tm_isdst 夏令时 0 是 其他不是
timezone
获取当前时区与格林尼治所在时区的相差的秒数(推荐)
altzone
获取当前时区与格林尼治所在时区的相差的秒数,在有夏令时的情况下
daylight
检测是否是夏令时的状态 0 夏令时 非0就不是
asctime()
功能:返回一个正常的可读的时间字符串
格式:time.asctime(时间元组)
返回值:时间字符串
localtime()
功能:获取当前时间元组
格式1:time.localtime()
返回值:本地时间元组
格式2:time.localtime(时间戳)
返回值:指定时间戳的本地时间元组
gmtime()
功能:获取当前UTC时间元组
格式1:time.gmtime()
返回值:当前UTC时间元组
格式2:time.gmtime(时间戳)
返回值:指定时间戳的UTC时间元组
ctime() 功能:获取本地时间的字符串格式 格式1: time.ctime() 返回值:时间格式字符串 相当于 asctime(localtime())
格式2: time.ctime(时间戳)
返回值:时间格式字符串 相当于asctime(localtime(时间戳))
mktime()
功能:使用时间元组制作时间戳
格式:time.mktime(时间元组)
返回值:时间戳
注意:按照本地时间来进行计算,如果想按照UTC时间计算,则是calendar.timegm()
clock()
功能:获取CPU时间,用于计算代码执行时间
格式:time.clock()
返回值:浮点数时间戳
主要用于计算程序执行时间,开始获取一次,程序执行完毕在获取一次,相减获得执行总时间,仅py3.3以下
perf_counter()
功能:获取CPU时间用于计算时间差
格式:time.perf_counter()
返回值:浮点数时间戳
主要用于计算程序执行时间,开始获取一次,程序执行完毕在获取一次,相减获得执行总时间,仅py3.3以上
sleep()
功能:程序睡眠,使得程序在此处等待指定的时间
格式:time.sleep(时间秒数)
返回值:无
time()
功能:获取当前本地的时间戳
格式:time.time()
返回值:浮点数时间戳
strftime()
功能:格式化输出时间字符串(str foramt time)
格式:time.strftime('字符串格式'[,时间元组])
返回值:格式化之后的哦字符串