第四课
Posted wannn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第四课相关的知识,希望对你有一定的参考价值。
第四课
函数参数
可变参数(参数组):不是必填参数,不限制参数个数
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问题:
1、pip命令不存在,把python安装目录下的Scripts加入环境变量
2、pip 的时候没用python目录下的pip,使用where命令知道其他的pip,改为其他名字
手动安装:
1、whl结尾的
pip install /Users/Pymysql-0.9.3-py2.py3-none-any.whl #后面whl文件的绝对路径
2、tar.gz结尾的
1、解压
2、在命令行里面进入到解压的目录下
3、执行python setup.py install
如果电脑上有多个版本的python
1、python3 -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不用转译 譬如
不需要换行
p判断是文件夹还是文件
print(os.path.isdir(r‘D:PYCHARM extuntitled1.idea‘)) #判断文件夹
print(os.path.isfile(r‘D:PYCHARM extuntitled1.idea‘)) #判断文件
# 进入文件夹
os.chdir(r‘D:PYCHARM extuntitled1.idea‘) #进入目录
print(os.listdir())
for file in os.listdir(r‘E:性能+自动化自动化pythonday3day4‘):
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:性能+自动化自动化pythonday3day4‘): #在那个目录找的,当前目录下有多少文件夹,目录下有多少文件
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)
以上是关于第四课的主要内容,如果未能解决你的问题,请参考以下文章