第四课

第四课

函数参数

可变参数(参数组):不是必填参数,不限制参数个数

Def  canshu(*args):

Print()

Canshu(11,222)

参数组不能用指定参数传值:name=张三

关键字参数:传参KEY-VALUE
def kwfunc(**kwargs):
    print(kwargs)
kwfunc(name = 'zhangsan')

def ti(word,country='china',*args,**kwargs):
    print(word)
    print(country)
    print(args)
    print(kwargs)

ti('haha','jepen',123,154,name='zhangsan')

以上:

Word为未知参数(必填参数),是必须传值的参数

Country为默认值参数,可填可不填,不填时展示默认值China

*args为可变参数,可填可不填,不填时为空元祖

**kwargs为关键字参数,可以可不填,不填时为空字典

拆包
radis_result = ['127.0.0.2','123456',3307]   元祖或列表的内容与函数参数一致
def radis(ip,password,port=3306):
    print(ip)
    print(password)
    print(port)
# radis(radis_result[0],radis_result[1],radis_result[2])
radis(*radis_result)


radis_result2 = {'ip':'127.1.1.0','password':'123456','port':3306}   字典内容与函数参数一致
def radis(ip,password,port=3306):
    print(ip)
    print(password)
    print(port)

# radis(radis_result2['ip'],radis_result2['password'],radis_result2['port'])
radis(**radis_result2)

内置函数
l = 'gdywkegye'
l = [10,52,61,555]
print(sorted(l))   #排序
print(chr(35))  # 打印数字对应的ASCII字符
print(ord('B')) # 打印字符串对应的ASCII码
print(dict(a=1,b=2))  #转换字典
dict = {'name':'zhangsan','age':18}
print(dir(dict))   #打印传入对象可调用的方法
list = [12,1,84,751]
print(max(list))   #打印list中的最大值
print(min(list))   #打印list中的最大值
print(round(3.162301,2))   #打印保留小数位数
print(all(l))    #打印判断list中存在为0或为空,则返回False.都为真时返回True
print(any(l))    #打印判断只要list中有一个为真则返回True,否则返回Fales
print(bool())    #打印吧传入对象转换成bool类型

s = "1+1"
print(s)
print(eval(108.py))   #执行Python代码,执行简单代码
print(exec())     #执行Python代码,可执行其他Python文件
f = open('108.py',encoding='utf-8')
result = f.read()
print(exec(result))

print(filter())     #循环调用函数,过滤保存每次调用函数的结果
l = [1,2,3,4,5,6,7,8,9,10]
def t(num):
    if num % 2 == 0:
        return True
l2 = list(filter(t,l))
print(l2)


print(map())       #循环调用函数,保存每次调用函数的结果
l = [1,2,3,4,5,6,7,8,9,10]
def t(num):
    if num % 2 == 0:
        return True
l2 = list(map(t,l))
print(l2)


print(zip())    
l1 = [1,2,3]
l2 = ['a','d','o']
for l01,l02 in zip(l1,l2):
    print(l01,l02)

第三方模块安装

安装:

                    pip install xxx #安装

                    pip uninstall xx #卸载

                    pip install xx -U #更新

                    pip freeze > 第三方模块.txt #导出已经安装的第三放模块

                    pip install -r 第三方模块.txt #从文件里面读模块,批量安装

                pip问题:

                    1pip命令不存在,把python安装目录下的Scripts加入环境变量

                    2pip 的时候没用python目录下的pip,使用where命令知道其他的pip,改为其他名字

                手动安装:

                    1whl结尾的

                        pip install /Users/PyMySQL-0.9.3-py2.py3-none-any.whl #后面whl文件的绝对路径

                    2tar.gz结尾的

                        1、解压

                        2、在命令行里面进入到解压的目录下

                        3、执行python setup.py install

                如果电脑上有多个版本的python

                1python3 -m pip install xpinyin

                   python2 -m pip install xpinyin

                2、找到各个版本的下面的scripts目录,pip各自修改为 pip2 /pip3

字符串格式化3.6以后字符格式化
name = 'xiaohei'
word = f'name is {name}'
print(word)

os模块

os.remove()
os.rename()
os.mkdir('lai03')  #创建文件夹,只能创建单一层级目录
os.makedirs('case/loghi')    #创建文件夹,可创建多层级的目录
print(os.getcwd())   #获取当前路径
os.system()   #执行操作系统命令,不返回结果
os.popen()   #执行操作系统命令,返回结果
os.path.getsize()   #获取大小
os.path.exists()   #判断文件或文件夹存不存在
os.path.dirname()   #判断父母录
os.path.split()   #分隔:路径和文件名分隔
os.path.getatime()   #文件最近一次的访问时间
os.path.getctime()   #文件创建时间
os.path.getmtime()   #文件修改时间

os.path.abspath()    #获取绝对路径的,根据相对路径获取绝对路径
print(os.path.abspath('../..'))
print(os.path.abspath('__file__'))
os.removedirs()  #删除空文件夹,可删除上级目录
os.rmdir()    #删除空文件夹,删除一级目录

.代表当前目录下,..代表上一级目录
os.listdir(r'D:\\')   #获取某个目录下的文件;目录前加R不用转译 譬如\n不需要换行


p判断是文件夹还是文件
print(os.path.isdir(r'D:\PYCHARM\text\untitled1\.idea'))     #判断文件夹
print(os.path.isfile(r'D:\PYCHARM\text\untitled1\.idea'))     #判断文件
# 进入文件夹

os.chdir(r'D:\PYCHARM\text\untitled1\.idea')    #进入目录
print(os.listdir())


for file  in os.listdir(r'E:\性能+自动化\自动化\python\day3\day4'):
    if os.path.isfile(file):
        if 'mp4' in file:
            print('文件在%s'%file)
    else:
        os.chdir(file)
        for l2 in file:
            pass

name = 'mp4'
for cur_dir,dirs,files in os.walk(r'E:\性能+自动化\自动化\python\day3\day4'):   #在那个目录找的,当前目录下有多少文件夹,目录下有多少文件
    for file in files:
        if name in file:
            abs_pas = cur_dir + '\ ' +file
            abs_pas = os.path.join(cur_dir,file)
            print('找到文件%s,绝对路径%s'%(file,abs_pas))



def search_file(path,name):
for cur_dir, dirs, files in os.walk(r'path'):  # 在那个目录找的,当前目录下有多少文件夹,目录下有多少文件
    for file in files:
        if name in file:
            # abs_pas = cur_dir + '\ ' +file
            abs_pas = os.path.join(cur_dir, file)
            print('找到文件%s,绝对路径%s' % (file, abs_pas))

Time模块

格式化时间
时间戳----一串数字
从计算机诞生的那一秒过了多少秒,每一秒加一
time.time()#获取当前时间戳
print(time.time())#获取当前时间戳
print(time.strftime('%Y-%m-%d %H:%M:%S')) #获取当前格式化时间

时间元祖     时间戳与格式化时间转换徐转换成时间元祖在转化
时间戳转格式化时间
timestamp = 152454545      #时间戳
result = time.localtime(timestamp)          #时间戳转换为时间元祖(localtime以当前时区时间转换)
end = time.strftime('%Y-%m-%d %H:%M:%S',result)     #元祖转换为格式化时间
print(end)


timestamp = 152454545      #时间戳
result = time.gmtime(timestamp)          #时间戳转换为时间元祖(gmtime以标准时区时间转换)
end = time.strftime('%Y-%m-%d %H:%M:%S',result)     #元祖转换为格式化时间
print(end)


时间戳转换成时间格式化函数,默认返回当前时间
def timestamp_to_str(timestamp=None,format='%Y-%m-%d %H:%M:%S'):
    if timestamp:
        time_tuple = time.localtime(timestamp)
        result = time.strftime(format,time_tuple)
    else:
        result = time.strftime(format)
    return result

时间格式化的时间转时间戳
s = '1974-10-31 20:29:05'     #格式化好的时间
time_tuple = time.strptime(s,'%Y-%m-%d %H:%M:%S')     #把时间元祖转换成时间戳
result = time.mktime(time_tuple)
print(result)


时间格式话转成时间戳
def str_to_timestamp(string=None,format='%Y-%m-%d %H:%M:%S'):
    if string:
        time_tuple = time.strptime(string,format)
        result = time.mktime(time_tuple)
    else:
        result = time.time()
    return int(result)
str_to_timestamp()

t1 = str_to_timestamp() + 60*60*24*13
result1 = timestamp_to_str(t1)
print(result1)

猜你喜欢

转载自www.cnblogs.com/wannn/p/11739839.html