❤️「Python」进阶,高级语法一网打尽!高级函数+文件操作,不看后悔系列~❤️
Posted 是Dream呀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了❤️「Python」进阶,高级语法一网打尽!高级函数+文件操作,不看后悔系列~❤️相关的知识,希望对你有一定的参考价值。
❤️「Python」进阶,高级语法一网打尽!不看后悔系列~
📢📢📢📣📣📣
🌻🌻🌻Hello,大家好我叫是Dream呀,一个有趣的Python博主,小白一枚,多多关照😜😜😜
🏅🏅🏅CSDN Python领域新星创作者,大二在读,欢迎大家找我合作学习
💕入门须知:这片乐园从不缺乏天才,努力才是你的最终入场券!🚀🚀🚀
💓最后,愿我们都能在看不到的地方闪闪发光,一起加油进步🍺🍺🍺
🍉🍉🍉“一万次悲伤,依然会有Dream,我一直在最温暖的地方等你”,唱的就是我!哈哈哈~🌈🌈🌈
🌟🌟🌟✨✨✨
「Python」进阶❤️:
高级函数
1.时间函数
在Python中,通常有如下几种方式表示时间:
(1)时间戳;
(2)格式化的时间字符串;
(3)时间元组(struct_time)。
1.通常来讲,时间戳
表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。
import time; # 引入time模块
ticks = time.time()
print("当前时间戳为:", ticks)
2.我们可以使用time模块的strftime方法来格式化日期
。
import time
# 格式化成2016-03-20 11:45:39形式
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
3.返回struct_time
的函数主要有gmtime()、localtime()和strptime(),struct_time元组。
2.日历函数
1.calendar.calendar(year,w=2,l=1,c=6)
返回一个多行字符串格式的year年年历,3个月一行,间隔距离为c。每日宽度间隔为w字符。每行长度为21* W+18+2* C。l是每星期行数。
import calendar
print(calendar. firstweekday())
print(calendar.isleap(2018))
print(calendar.calendar(2021,w=1,l=1,c=6))
然后就可以得到我们的日期表了,是不是非常的nice:
2. 返回当前每周起始日期的设置。默认情况下,首次载入caendar模块时返回0,即星期一。
calendar. firstweekday()
3. 如果是闰年返回True,否则为false。
calendar.isleap(year)
4. 返回在Y1,Y2两年之间的闰年总数。
calendar.leapdays(y1,y2)
5. 返回一个多行字符串格式的year年month月日历,两行标题,一周一行。每日宽度间隔为w字符。每行的长度为7* w+6。l是每星期的行数。
print(calendar.month(2021,2,w=2,l=1))
6. 返回一个整数的单层嵌套列表。每个子列表装载代表一个星期的整数。Year年month月外的日期都设为0;范围内的日子都由该月第几日表示,从1开始。
calendar.monthcalendar(year,month)
7. 返回两个整数。第一个是该月的星期几的日期码,第二个是该月的日期码。日从0(星期一)到6(星期日);月从1到12。
calendar.monthrange(year,month)
8.calendar.prcal(year,w=2,l=1,c=6)
相当于print(calendar.calendar(year,w,l,c))
3.随机数函数
1.random.random()
用于生成一个0到1的随机符点数: 0 <= n < 1.0。
import random# 生成第一个随机数
print("random():", random.random())# 生成第二个随机数
print("random():", random.random())
2.random.uniform(a,b)
返回a,b之间的随机浮点数,范围[a,b]或[a,b]取决 于四舍五入,a不一定要比b小。
3.random.randint(a,b)
返回a,b之间的整数,范围[a,b],注意:传入参数必须是整数,a一定要比b小。
4.random.randrang([start], stop[, step])
返回有个区间内的整数,可以设置step。只能传入整数,random.randrange(10, 100, 2),
结果相当于从[10, 12, 14, 16, … 96, 98]序列中获取一个随机数。
5.random.choice(sequence)
从sequence(序列,是有序类型的)中随机获取一个元素,列表、元组、字符串都属于sequence。
random.randrange(10,100,2)
#结果等效于
random.choice(range(10,100,2)
6.random.shuffle(x[,random])
用于将列表中的元素打乱顺序,俗称为洗牌。
p = ["Python","is", "powerful","simple”]
random.shuffle(p)
7.random.sample(sequence,k)
从指定序列中随机获取k个元素作为一个片段返回,
sample函数不会修改原有序列
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
slice = random.sample(list, 5)
print(slice)
print(list)
闭包and装饰器
1.闭包:
Python函数是支持嵌套的。如果在一个内部函数中对外部函数作用域(非全局作用域)的变量进行引用,那么内部函数就会被称为闭包。闭包
需要满足如下3个条件:
- 存在于两个嵌套关系的函数中,并且闭包是内部函数;
- 内部函数引用了外部函数的变量(自由变量);
- 外部函数会把内部函数的函数名称返回。
def outer(start=0):
count=[start]
def inner():
count[0]+=1
return count[0]
return inner
out = outer(5)
print(out())
2.装饰器:
假设我们已经开发了一个本有的函数,后续可能会增加临时的需求,例如插入日志,我们可以增加一个包裹函数,由它来负责这些额外的需求,这个包裹函数就是装饰器
。
装饰器主要应用在如下场景:
- 引入日志;
- 函数执行时间统计;
- 执行函数前预备处理;
- 执行函数后清理功能;
- 权限校验;
- 缓存。
装饰器是一个函数,它需要接收一个参数,该参数表示被修饰的函数。例如,有如下一个装饰器函数
:
def myDectoration(func):
def inner():
print("正在执行内部函数")
func()
return inner
def printMessage():
print("--------欢迎您-------")
pm = myDectoration(printMessage)
pm()
装饰器是个嵌套函数内部函数是一个闭包。
外部函数接收的是被修饰的函数(func)
通过在函数定义的前面添加@符号和装饰器名,实现装饰器对函数的包装。给f1函数加上装饰器,示例如下:
@w1
def f1():
print(’f1')
此时,程序会自动编译生成调用装饰器函数的代码,等价于:
f1 = w1(f1)
多个装饰器:
多个装饰器应用在一个函数上,调用顺序是从下至上。
常见Python内置函数
1.map函数
map函数的作用是以参数序列中的每个元素分别调用function函数,把每次调用后返回的结果保存为对象
func = lambda x:x+2
result = map(func, [1,2,3,4,5])
print(list(result))
流程图:
2.filter函数
filter函数会对指定序列执行过滤操作。
filter函数的定义如下:
filter(function,iterable)
第1个参数可以是函数的名称;第2个参数表示的是序列、支持迭代的容器或迭代器。
func = lambda x:x%2
result = filter(func, [1, 2, 3, 4, 5])
print(list(result))
流程图:
文件操作
1.文件的打开和关闭
在python中,使用open方法打开文件:
open(文件名,访问模式)
- “文件名”必须要填写
- “访问模式”是可选的
访问模式:
凡是打开的文件,切记要使用close方法关闭文件:
# 新建一个文件,文件名为:test.txt
f = open(itheima.txt', 'w')
# 关闭这个文件
f.close()
2.文件的读写
写文件:
向文件写数据,需要使用write方法来完成,在操作某个文件时,每调用一次write方法,写入的数据就会追加到文件末尾:
f = open('itheima.txt', 'w')
f.write(‘hello itheima, i am here!’)
f.close()
读文件:
方式1:使用read方法读取文件
f = open('itheima.txt', 'r')
content = f.read(12)
print(content)
print("-"*30)
content = f.read()
print(content)
f.close()
方式2:使用readlines方法读取文件
f= open('itheima.txt', 'r')
content = f.readlines()
i = 1
for temp in content:
print("%d:%s" % (i, temp))
i += 1
f.close()
方式3:使用readline方法一行一行读数据
f = open('itheima.txt', 'r')
content = f.readline()
print("1:%s"%content)
content = f.readline()
print("2:%s"%content)
f.close()
文件的定位读写:
f = open("itheima.txt", "r")
str = f.read(4)
print(“读取的数据是 : ”, str)
position = f.tell()
print("当前文件位置 : ", position)
3.文件的重命名和删除
os模块中的rename()方法可以完成文件的重命名。格式如下:
os.rename(需要修改的文件名, 新的文件名)
os模块中的remove()方法可以完成文件的删除操作。格式如下:
os.remove(待删除的文件名)
4.文件的相关操作
1. 创建文件夹
os模块的mkdir方法用来创建文件夹,示例如下:
import os
os.mkdir("张三")
2. 获取当前目录
os模块的getcwd方法用来获取当前的目录,示例如下:
import os
os.getcwd()
3.改变默认目录
os模块的chdir方法用来改变默认目录,示例如下:
import os
os.chdir("../”)
4. 获取目录列表
os模块的listdir方法用于获取目录列表,示例如下:
import os
os.listdir (”./”)
5. 删除文件夹
os模块的rmdir方法用于删除文件夹,示例如下:
import os
os.rmdir (”张三”)
🍋🍋🍋最后一点小福利带给大家:如果想快速上手python的小伙伴们,这个详细整理PPT可以迅速帮助大家打牢python基础,需要的小伙伴们可以下载一下Python入门基础教程全套+小白速成+学不会来找我!
🌲🌲🌲 好啦,这就是今天要给大家分享的全部内容了
❤️❤️❤️如果你喜欢的话,就不要吝惜你的一键三连了~
投票环节:
以上是关于❤️「Python」进阶,高级语法一网打尽!高级函数+文件操作,不看后悔系列~❤️的主要内容,如果未能解决你的问题,请参考以下文章