程序笔记   发布时间:2022-07-13  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了❤️「Python」进阶,高级语法一网打尽!高级函数+文件操作,不看后悔系列~❤️大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

❤️「Python」进阶࿰c;高级语法一网打尽!不看后悔系列~

❤️「Python」进阶,高级语法一网打尽!高级函数+文件操作,不看后悔系列~❤️

📢📢📢📣📣📣 🌻🌻🌻Hello࿰c;大家好我叫是Dream呀࿰c;一个有趣的Python博主࿰c;小白一枚࿰c;多多关照ὡc;c;c;5;5;5;CSDN Python领域新星创作者࿰c;大二在读࿰c;欢迎大家找我合作学习 Ὁ5;入门须知:这片乐园从不缺乏天才࿰c;努力才是你的最终入场券!🚀🚀🚀 💓最后࿰c;愿我们都能在看不到的地方闪闪发光࿰c;一起加油进步🍺🍺🍺 🍉🍉🍉“一万次悲伤࿰c;依然会有Dream࿰c;我一直在最温暖的地方等你”࿰c;唱的就是我!哈哈哈~🌈🌈🌈 🌟🌟🌟✨✨✨

「Python」进阶❤️:

    • ❤️「Python」进阶࿰c;高级语法一网打尽!不看后悔系列~
  • 高级函数
    • 1.时间函数
    • 2.日历函数
    • 3.随机数函数
  • 闭包and装饰器
    • 1.闭包:
    • 2.装饰器:
  • 常见Python内置函数
    • 1.map函数
    • 2.filter函数
  • 文件操作
    • 1.文件的打开和关闭
    • 2.文件的读写
    • 3.文件的重命名和删除
    • 4.文件的相关操作
  • 投票环节:

高级函数

1.时间函数

在Python中࿰c;通常有如下几种方式表示时间: (1)时间戳; (2)格式化的时间字符串; (3)时间元组(struct_time)。 1.通常来讲࿰c;时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。

import time@H_616_96@;  # 引入time模块
ticks = time@H_616_96@.time@H_616_96@(@H_616_96@)
print@H_616_96@("当前时间戳为:"@H_616_96@, ticks@H_616_96@)

2.我们可以使用time模块的strftime方法来格式化日期

import time
# 格式化成2016-03-20 11:45:39形式
print@H_616_96@(time@H_616_96@.strftime@H_616_96@("%Y-%m-%d %H:%M:%S"@H_616_96@, time@H_616_96@.localtime@H_616_96@(@H_616_96@)@H_616_96@)@H_616_96@)

❤️「Python」进阶,高级语法一网打尽!高级函数+文件操作,不看后悔系列~❤️

❤️「Python」进阶,高级语法一网打尽!高级函数+文件操作,不看后悔系列~❤️

3.返回struct_time的函数主要有gmtime()、localtime()和strptime()࿰c;struct_time元组。

2.日历函数

1.calendar.calendar(year,w=2,l=1,c=6) 返回一个多行字符串格式的year年年历࿰c;3个月一行࿰c;间隔距离为c。每日宽度间隔为w字符。每行长度为21* W+18+2* C。l是每星期行数。

import calendar
print@H_616_96@(calendar@H_616_96@. firstweekday@H_616_96@(@H_616_96@)@H_616_96@)
print@H_616_96@(calendar@H_616_96@.isleap@H_616_96@(2018@H_616_96@)@H_616_96@)
print@H_616_96@(calendar@H_616_96@.calendar@H_616_96@(2021@H_616_96@,w=1@H_616_96@,l=1@H_616_96@,c=6@H_616_96@)@H_616_96@)

然后就可以得到我们的日期表了࿰c;是不是非常的nice:

❤️「Python」进阶,高级语法一网打尽!高级函数+文件操作,不看后悔系列~❤️

2. 返回当前每周起始日期的设置。默认情况下࿰c;首次载入caendar模块时返回0࿰c;即星期一。

calendar@H_616_96@. firstweekday()

3. 如果是闰年返回True࿰c;否则为false。

calendar@H_616_96@.isleap@H_616_96@(year@H_616_96@)

4. 返回在Y1࿰c;Y2两年之间的闰年总数。

calendar@H_616_96@.leaPDAys@H_616_96@(y1@H_616_96@,y2@H_616_96@)

5. 返回一个多行字符串格式的year年month月日历࿰c;两行标题࿰c;一周一行。每日宽度间隔为w字符。每行的长度为7* w+6。l是每星期的行数。

print@H_616_96@(calendar@H_616_96@.@H_231_95@month@H_616_96@(2021@H_616_96@,2@H_616_96@,w=2@H_616_96@,l=1@H_616_96@)@H_616_96@)

❤️「Python」进阶,高级语法一网打尽!高级函数+文件操作,不看后悔系列~❤️

6. 返回一个整数的单层嵌套列表。每个子列表装载代表一个星期的整数。Year年month月外的日期都设为0;范围内的日子都由该月第几日表示࿰c;从1开始。

calendar@H_616_96@.@H_231_95@monthcalendar@H_616_96@(year@H_616_96@,@H_231_95@month@H_616_96@)

@H_696_336@

7. 返回两个整数。第一个是该月的星期几的日期码࿰c;第二个是该月的日期码。日从0(星期一)到6(星期日);月从1到12。

calendar@H_616_96@.@H_231_95@monthrange@H_616_96@(year@H_616_96@,@H_231_95@month@H_616_96@)

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@H_616_96@("random():"@H_616_96@, random@H_616_96@.random@H_616_96@(@H_616_96@)@H_616_96@)# 生成第二个随机数 
print@H_616_96@("random():"@H_616_96@, random@H_616_96@.random@H_616_96@(@H_616_96@)@H_616_96@)

2.random.uniform(a,b) 返回a,b之间的随机浮点数࿰c;范围[a,b]或[a,b]取决 于四舍五入࿰c;a不一定要比b小。 3.random.randint(a,b) 返回a,b之间的整数࿰c;范围[a,b]࿰c;注意:传入参数必须是整数࿰c;a一定要比b小。 4.random.randrang([start], stop[, step]) 返回有个区间内的整数࿰c;可以设置step。只能传入整数࿰c;random.randrange(10, 100, 2)࿰c; 结果相当于从[10, 12, 14, 16, … 96, 98]序列中获取一个随机数。 5.random.choice(sequencE) 从sequence(序列࿰c;是有序类型的)中随机获取一个元素࿰c;列表、元组、字符串都属于sequence。

random@H_616_96@.randrange@H_616_96@(10@H_616_96@,100@H_616_96@,2@H_616_96@) 
#结果等效于
random@H_616_96@.choice@H_616_96@(range@H_616_96@(10@H_616_96@,100@H_616_96@,2@H_616_96@)

6.random.shuffle(x[,random]) 用于将列表中的元素打乱顺序࿰c;俗称为洗牌。

p = @H_616_96@["Python"@H_616_96@,"is"@H_616_96@, "powerful"@H_616_96@,"simple”@H_616_96@]  
random@H_616_96@.shuffle@H_616_96@(p@H_616_96@)  

7.random.sample(sequence,k) 从指定序列中随机获取k个元素作为一个片段返回࿰c; sample函数不会修改原有序列

list = @H_616_96@[1@H_616_96@, 2@H_616_96@, 3@H_616_96@, 4@H_616_96@, 5@H_616_96@, 6@H_616_96@, 7@H_616_96@, 8@H_616_96@, 9@H_616_96@, 10@H_616_96@]  
slice = random@H_616_96@.sample@H_616_96@(list@H_616_96@, 5@H_616_96@) 
print@H_616_96@(slice@H_616_96@) 
print@H_616_96@(list@H_616_96@)

闭包and装饰器

1.闭包:

Python函数是支持嵌套的。如果在一个内部函数中对外部函数作用域(非全局作用域)的变量进行引用࿰c;那么内部函数就会被称为闭包。闭包需要满足如下3个条件:

  1. 存在于两个嵌套关系的函数中࿰c;并且闭包是内部函数;
  2. 内部函数引用了外部函数的变量(自由变量);
  3. 外部函数会把内部函数的函数名称返回。

@H_358_607@

def outer@H_616_96@(start=0@H_616_96@)@H_616_96@:
    count=@H_616_96@[start@H_616_96@]
    def inner@H_616_96@(@H_616_96@)@H_616_96@:
        count@H_616_96@[0@H_616_96@]+=1
        return count@H_616_96@[0@H_616_96@]
    return inner
out = outer@H_616_96@(5@H_616_96@)
print@H_616_96@(out@H_616_96@(@H_616_96@)@H_616_96@)

2.装饰器:

假设我们已经开发了一个本有的函数࿰c;后续可能会增加临时的需求࿰c;如插入日志࿰c;我们可以增加一个包裹函数࿰c;由它来负责这些额外的需求࿰c;这个包裹函数就是装饰器

装饰器主要应用在如下场景:

  1. 引入日志;
  2. 函数执行时间统计;
  3. 执行函数前预备处理;
  4. 执行函数后清理功能;
  5. 权限校验;
  6. 缓存。

装饰器是一个函数࿰c;它需要接收一个参数࿰c;该参数表示被修饰的函数。例如࿰c;有如下一个装饰器函数

def @H_293_614@myDectoration@H_616_96@(func@H_616_96@)@H_616_96@:
    def inner@H_616_96@(@H_616_96@)@H_616_96@:
        print@H_616_96@("正在执行内部函数"@H_616_96@)
        func@H_616_96@(@H_616_96@)
    return inner

def printmessage@H_616_96@(@H_616_96@)@H_616_96@:
    print@H_616_96@("--------欢迎您-------"@H_616_96@)
pm = myDectoration@H_616_96@(printmessage@H_616_96@)
pm@H_616_96@(@H_616_96@)

装饰器是个嵌套函数内部函数是一个闭包。 外部函数接收的是被修饰的函数(func) 通过在函数定义的前面添加@符号和装饰器名࿰c;实现装饰器对函数的包装。给f1函数加上装饰器࿰c;示例如下:

@w1
def f1@H_616_96@(@H_616_96@)@H_616_96@:
    print@H_616_96@(’f1'@H_616_96@)

此时࿰c;程序会自动编译生成调用装饰器函数的代码࿰c;等价于:

f1 = w1@H_616_96@(f1@H_616_96@)

多个装饰器: 多个装饰器应用在一个函数上࿰c;调用顺序是从下至上。

常见Python内置函数

1.map函数

@H_682_7@map函数的作用是以参数序列中的每个元素分别调用function函数࿰c;把每次调用后返回的结果保存为对象

func = lambda x@H_616_96@:x+2
result = @H_800_449@map@H_616_96@(func@H_616_96@, @H_616_96@[1@H_616_96@,2@H_616_96@,3@H_616_96@,4@H_616_96@,5@H_616_96@]@H_616_96@)
print@H_616_96@(list@H_616_96@(result@H_616_96@)@H_616_96@)

流程图:

❤️「Python」进阶,高级语法一网打尽!高级函数+文件操作,不看后悔系列~❤️

2.filter函数

filter函数会对指定序列执行过滤操作。 filter函数的定义如下:

filter@H_616_96@(function࿰c;iterable)

1个参数可以是函数的名称;第2个参数表示的是序列、支持迭代的容器或迭代器。

func = lambda x@H_616_96@:x%2
result = filter@H_616_96@(func@H_616_96@, @H_616_96@[1@H_616_96@, 2@H_616_96@, 3@H_616_96@, 4@H_616_96@, 5@H_616_96@]@H_616_96@)
print@H_616_96@(list@H_616_96@(result@H_616_96@)@H_616_96@)

流程图:

❤️「Python」进阶,高级语法一网打尽!高级函数+文件操作,不看后悔系列~❤️

❤️「Python」进阶,高级语法一网打尽!高级函数+文件操作,不看后悔系列~❤️

文件操作

1.文件的打开和关闭

在python中࿰c;使用open方法打开文件:

open@H_616_96@(文件名࿰c;访问模式@H_616_96@)
  • “文件名”必须要填写
  • “访问模式”是可选的

访问模式:

❤️「Python」进阶,高级语法一网打尽!高级函数+文件操作,不看后悔系列~❤️

❤️「Python」进阶,高级语法一网打尽!高级函数+文件操作,不看后悔系列~❤️

凡是打开的文件࿰c;切记要使用close方法关闭文件:

# 新建一个文件࿰c;文件名为:test.txt
f = open@H_616_96@(itheima@H_616_96@.txt', 'w'@H_616_96@)
# 关闭这个文件
f@H_616_96@.close@H_616_96@(@H_616_96@)

2.文件的读写

写文件: 向文件写数据࿰c;需要使用write方法来完成࿰c;在操作某个文件时࿰c;每调用一次write方法࿰c;写入的数据就会追加到文件末尾:

f = open@H_616_96@('itheima.txt'@H_616_96@, 'w'@H_616_96@)
f@H_616_96@.write@H_616_96@(‘Hello itheima@H_616_96@, i am here!’@H_616_96@)
f@H_616_96@.close@H_616_96@(@H_616_96@)

读文件: 方式1:使用read方法读取文件

f = open@H_616_96@('itheima.txt'@H_616_96@, 'R'@H_616_96@)
content = f@H_616_96@.read@H_616_96@(12@H_616_96@)
print@H_616_96@(content@H_616_96@)
print@H_616_96@("-"*30@H_616_96@)
content = f@H_616_96@.read@H_616_96@(@H_616_96@)
print@H_616_96@(content@H_616_96@)
f@H_616_96@.close@H_616_96@(@H_616_96@)

方式2:使用readlines方法读取文件

f= open@H_616_96@('itheima.txt'@H_616_96@, 'R'@H_616_96@)
content = f@H_616_96@.readlines@H_616_96@(@H_616_96@)
i = 1
for temp in content@H_616_96@:
     print@H_616_96@("%d:%s" % @H_616_96@(i@H_616_96@, temp@H_616_96@)@H_616_96@)
     i += 1
f@H_616_96@.close@H_616_96@(@H_616_96@)

方式3:使用readline方法一行一行读数据

f = open@H_616_96@('itheima.txt'@H_616_96@, 'R'@H_616_96@)
content = f@H_616_96@.readline@H_616_96@(@H_616_96@)
print@H_616_96@("1:%s"%content@H_616_96@)
content = f@H_616_96@.readline@H_616_96@(@H_616_96@)
print@H_616_96@("2:%s"%content@H_616_96@)
f@H_616_96@.close@H_616_96@(@H_616_96@)

文件的定位读写:

f = open@H_616_96@("itheima.txt"@H_616_96@, "r"@H_616_96@)
str = f@H_616_96@.read@H_616_96@(4@H_616_96@)
print@H_616_96@(“读取的数据是 @H_616_96@: ”@H_616_96@, str@H_616_96@)
position = f@H_616_96@.tell@H_616_96@(@H_616_96@)
print@H_616_96@("当前文件位置 : "@H_616_96@, position@H_616_96@)

3.文件的重命名和删除

os模块中的rename()方法可以完成文件的重命名。格式如下:

os@H_616_96@.rename@H_616_96@(需要修改的文件名@H_616_96@, 新的文件名@H_616_96@)

os模块中的remove()方法可以完成文件的删除操作。格式如下:

os@H_616_96@.remove@H_616_96@(待删除的文件名@H_616_96@)

4.文件的相关操作

1. 创建文件夹 os模块的mkdir方法用来创建文件夹࿰c;示例如下:

import os
os@H_616_96@.@H_231_95@mkdir@H_616_96@("张三"@H_616_96@)

2. 获取当前目录 os模块的getcwd方法用来获取当前的目录࿰c;示例如下:

import os
os@H_616_96@.getcwd@H_616_96@(@H_616_96@)

3.改变默认目录 os模块的chdir方法用来改变默认目录࿰c;示例如下:

import os
os@H_616_96@.chdir@H_616_96@("@H_616_96@.@H_616_96@./”@H_616_96@)

4. 获取目录列表 os模块的listdir方法用于获取目录列表࿰c;示例如下:

import os
os@H_616_96@.listdir @H_616_96@(”@H_616_96@./”@H_616_96@)

5. 删除文件夹 os模块的rmdir方法用于删除文件夹࿰c;示例如下:

import os
os@H_616_96@.rmdir @H_616_96@(”张三”@H_616_96@)

🍋🍋🍋最后一点小福利带给大家:如果想快速上手python的小伙伴们࿰c;这个详细整理PPT可以迅速帮助大家打牢python基础࿰c;需要的小伙伴们可以下载一下Python入门基础教程全套+小白速成+学不会来找我! 🌲🌲🌲 好啦࿰c;这就是今天要给大家分享的全部内容了 ❤️❤️❤️如果你喜欢的话࿰c;就不要吝惜你的一键三连了~

❤️「Python」进阶,高级语法一网打尽!高级函数+文件操作,不看后悔系列~❤️

投票环节:

大佬总结

以上是大佬教程为你收集整理的❤️「Python」进阶,高级语法一网打尽!高级函数+文件操作,不看后悔系列~❤️全部内容,希望文章能够帮你解决❤️「Python」进阶,高级语法一网打尽!高级函数+文件操作,不看后悔系列~❤️所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。