在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的重点。 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐