Python--函数
pythonostimedatetimelambda,map,zip
在python中,函数是实现某些特定功能的简单方法,很多地方都能用到函数,函数包括内置函数、自定义函数等,一般是将函数综合运用实现特定功能。
1、引用第三方库
1.1 time & datetime
from time import sleep
from datetime import datetime
dn=datetime.now() --获取当前时间,赋值到变量dn
dfs=dn.strftime('%Y%m%d%H%M%S%f') --将时间转换为字符串并赋值给dfs变量
eg:按时间生成不同的文件名
from datetime import datetime
def write_file(path,data):
with open(path,'w',encoding='utf-8') as f:
f.write(data)
def pro_filename(name,kzm):
dn=datetime.now()
ds=dn.strftime('%Y%m%d%H%M%S%f')
filename=name+ds+kzm
return(filename)
if __name__ == '__main__':
name='report'
kzm='.py'
pro_filename(name,kzm)
write_file(r'D:\PycharmProjects\test2202\BBpython\\'+pro_filename(name,kzm), 'qwertyuio')
运行3次生成3个文件,文件名均不同
1.2 随机函数
from random import randint,choice
randint(a,b) --随机生成a到b之间的随机整数
choice(序列,序列...) --在序列中随机选择
eg: 随机生成电话号码,和电子邮箱
from random import randint,choice
#随机生成电话号码
def phnum():
phead=['131','135','155','182']
ph3=choice(phead)
th8=str(randint(10000000,99999999))
ph_num=ph3+th8
return(ph_num)
#随机生成邮箱
def dzemail():
hemail=str(randint(1000000,9999999999))
temail=str(['@qq.com','@163.com'])
email=hemail+temail
return(email)
if __name__ == '__main__':
print(phnum())
print(dzemail())
运行一次结果如下:
1.3 os
import os
os.getcwd() --获取当前文件的目录
os.path.split() --分离目录
os.path.join() --合并目录
os.path.isdir(path)
os.path.isfile(path)
判断目录/文件是否存在,存在返回True,不存在返回False
os.liststr(path)
os.rename(old_path,new_path)
获取目录下的所有文件以及文件重命名
实例:将目录下所有py文件拓展名改为txt
import os
def retzm(path,otzm,ntzm):
ol=os.listdir(path)
for name in ol:
if name.endswith(otzm):
nname=name.replace(otzm,ntzm)
opath=os.path.join(path,name)
npath=os.path.join(path,nname)
os.rename(opath,npath)
if __name__ == '__main__':
path=r'D:\PycharmProjects\test2202\BBpython'
otzm='.py'
ntzm='.txt'
retzm(path, otzm, ntzm)
2、函数lambda(),函数map(),函数zip()
2.1 lambda() --匿名函数
语法:
①有参数:
函数名=lambda 参数:表达式
②没有参数:
函数名=lambda :表达式
eg:
aa=lambda x:x**3
print(aa(3))
运行结果为:27
bb=lambda :10/2
print(bb())
运行结果为:5
2.2 map()
语法:
map(函数名,序列)
eg:#列表中每个元素是一个数字字符,转为整 数输出
cc=['1','2','33','34']
ee=map(int,cc)
print(list(ee))
运行结果为:
实例:
已知:name=['tom','jenny','jim']
把所有的名字变成大写输出,使用map来实现
def str_upp(str):
up1=str.upper()
return(up1)
name=['tom','jenny','jim']
up=map(str_upp,name)
print(list(up))
运行结果如下:
2.3 zip() --对序列进行重组
语法:
zip(序列,序列...)
eg:
name = ['tom', 'jenny', 'jim']
age=[22,21,19]
info=zip(name,age)
print(dict(list(info)))
运行结果如下:
总结:
函数的应用需要具体情况具体分析,灵活的运用函数是学习python的重点。
更多推荐
所有评论(0)