千纸鹤

  博客园  ::  :: 新随笔  ::  ::  :: 管理
  5 随笔 :: 70 文章 :: 0 评论 :: 9301 阅读
《0031》函数与模块
《1》函数参数类型:
a.必须参数(位置参数):一定要传参,位置一定要相同,个数一定要一样
b.关键字参数:命名参数的顺序可以不同
c.默认参数
d.不定长传参:
a.*args(解析元组:把传进来的参数放在元组中去)
b.**kwargs(解析字典:把传进来的参数放在字典中去)
《2》函数参数传入顺序规则:必须参数(位置参数)、默认参数、不定长参数(*args在前,**kwargs在后)
《3》匿名函数语法:lambda 参数,参数:表达式
《4》三目运算语法(了解):满足条件的内容 if 判断条件 else 不满足条件的内容
《5》推导式:a.列表推导式[表达式 :for xx in range()]
b.字典推导式{表达式:表达式 :for xx in range()}

《0032》作业讲解(无)

《0033》文件处理与os模块1
《1》文件操作步骤:
a.打开 open(文件的路径,访问模式) 读取数据(read),写入数据(write) 关闭(close)
b.with open(文件的路径,访问模式) as 变量名: 读取数据(read),写入数据(write)
《2》文件路径形式:a.相对路径:相对路径就是相对于当前文件的路径(./:代表当前目录的某个文件 ../:代表上级目录的某个文件)
b.绝对路径:文件或目录在磁盘上真正存储的路径
《3》访问模式特点:
<1>r:表示只可读不可写(写入数据报错),没有文件不能读取
<2>w:表示只可写不可读(读取数据报错),没有文件也能读取(写会覆盖原有的内容)
<3>a:表示仅追加数据,没有文件也能追加
<4>r+:表示即可读又可写(在r的基础上增加了写入),没有文件不能读取
<5>w+:表示即可写又可读(在w的基础上增加了读取),没有文件也能读取(写会覆盖原有的内容)
<6>a+:表示仅追加数据,没有文件也能追加
《4》读取文件操作:
<1>read():读取整个文件
<2>readline():每次读取一行数据  
<3>readlines():一次性读取所有内容,并且放在列表中
《5》文件和文件夹的操作:
a.导包:import os
b.创建文件夹(创建同名文件夹无法创建):os.mkdir
c.删除文件夹(只有目录是空的就能删除):os.rmdir
d.删除文件夹(即便目录非空的也能删除):import shutil shutil.rmtree
e.文件重命名:os.rename
f.获取当前路径的文件夹绝对路径:os.getcwd()
g.获取当前路径的绝对路径:os.path.abspath()
h.当前文件的路径:__file__
i.当前路径的父目录:os.path.dirname(os.path.abspath(__file__))
j.判断是否为目录:os.path.isdir()
k.判断是否为文件:os.path.isfile()
l.获取文件权限 os.access(path,mode) mode:F_OK(是否存在),R_OK(可读) w_ok(可写) X_OK(可执行)
《6》正则表达式
<1>匹配规则:
(1)\d 匹配数字 \D
   (2)\w字母,数字,下划线,中文
   (3).匹配任意字符,除\n以外
   (4){}前面的元素出现的次数
<2>导入相关包:import re
<3>常用的方法:(1)match()只匹配开头 (2)search()只匹配一次 (3)findall()全匹配
<4>匹配的示例:a=re.findall(r'\w+',str1)

《0034》文件处理与os模块2
《1》文件处理应用:yaml文件 excel文件 txt文件 csv文件
《2》yaml文件读取:
a.基本操作步骤:
(1)第三库安装yaml
(2)创建一个yaml文件,写yaml文件数据,读取yaml数据
(3)引入yaml:import yaml
(4)语法规则:字典类型的数据格式(键: 值) 冒号后要有空格
b.读取字典:
(1)新建字典的yaml数据
(2)变量 = open(文件的路径,访问模式) data=yaml.load(变量,yaml.FullLoader)
(3)输出字典数据:print(data,type(data))
(4)读取yaml里面的数据,通过键名拿到值:a.data.get('键名')) b.data['name']
c.读取列表:
(1)新建列表的yaml数据
(2)with open(文件的路径,访问模式) as 变量 data=yaml.load(变量,yaml.FullLoader)
(3)输出列表数据:print(data,type(data))
(4)读取yaml里面的数据,通过下标拿到值:data[1]
d.读取列表嵌套字典:
(1)新建列表嵌套字典的yaml数据
(2)with open(文件的路径,访问模式) as 变量 data=yaml.load(变量,yaml.FullLoader)
(3)输出列表数据:print(data,type(data))
(4)读取yaml里面的数据,通过(下标+键名)拿到值:data[下标]['键名']
e.读取列表嵌套(字典、data、列表)
(1)新建列表嵌套(字典、data、列表)的yaml数据
(2)with open(文件的路径,访问模式) as 变量 data=yaml.load(变量,yaml.FullLoader)
(3)输出列表数据:print(data,type(data))
(4)读取yaml里面的数据,通过(下标+键名)拿到值:data[下标]['父变量']['子变量']
《3》excel文件读取:
a.基本操作步骤:
(1)第三库安装openpyxl
(2)创建一个excel文件,写excel文件数据,读取excel数据
(3)引入openpyxl:import openpyxl
b.读取excel
(1)获取工作簿:load_workbook 
(2)指定sheet表单:wb['XXX']
(3)拿单元格取值:a.sheet['A1'].value b.sheet.cell
(4)拿到所有的值,如果没有值就会是none:sheet.values
(5)统计一个表单总共有多少条数据:sheet.max_row
(6)读取所有的sheet:wb.sheetnames
(7)读取到所有的表单的数据:wb[i].values
(8)写入数据保存:wb.save
《4》csv文件读取
a.基本操作步骤:
(1)创建一个csv文件,写csv文件数据,读取csv数据
(2)引入csv:import csv
b.读取csv
(1)with open(文件的路径,访问模式) as 变量 csv.reader(变量)
(2)读取csv的所有内容:for i in 变量: (print(i))
(3)读取csv文件某一行的数据(了解):赋值变量==list(csv.reader(变量)) print(赋值变量[0])
(4)读取csv文件某一列的数据(了解):for i in csv.reader(变量): (print(i[0]))
c.写入csv
(1)with open(文件的路径,访问模式) as 变量
(2)第一种数据写入:csv.writer(变量).writerow(赋值变量)
(3)第二种数据写入:for i in 赋值变量:(csv.writer(f).writerow(i))

《0035》时间日期模块与异常处理函数
《1》异常处理语法(基础版):
try:要执行的代码
except (错误类型1,错误类型2):出现错误的代码
《2》异常错误类型:
(1)BaseException:所有异常的基类
(2)Exception:常规错误的基类
(3)ZeroDivisionError:除(或取模)零
(4)IndexError:序列中没有此索引
(5)ValueError:传入无效的参数
《3》异常处理语法(升级版):
try:要执行的代码
except 错误类型 as e: 打印错误的信息
except Expection as e: 打印错误的信息
else: 没有异常就会去执行
finally: 无论是否有异常都会执行
《4》异常处理顺序:try,except,else,finall
(1)正常执行:try正常执行,执行else不执行except ,执行之后,执行 finall;
(2)异常执行:try异常执行,不执行else执行except ,执行之后,执行finall;
《5》时间日期模块
a.导入calendar:import calendar
b.输出月日历:calendar.month(年,月)
c.输出年日历:calendar.calendar(年)
d.时间戳:time.time()
e.时间元组:time.localtime()
(1)不填参数的时间元组:time.localtime()
(2)填固定时间戳的时间元组:time.localtime(1650874781.771968)
(3)填当前时间戳的时间元组:time.localtime(time.time())
f.数字形式的时间元组:t=(2022,4,25,16,27,53,3,252,0) print(t)
g.元组转为时间戳:time.mktime()
(1)指定时间元组转为时间戳:time.mktime((2022,4,25,0,0,0,0,0,0))
(2)当前时间元组转为时间戳:time.mktime(time.localtime())
h.日期转换
(1)元组转化成日期:time.asctime(time.localtime(time.time()))
(2)时间改为系统时间:time.strftime('%Y-%m-%d %H-%M-%S')

《0036》面向对象1(无)

《0037》面向对象2
《1》面向对象三大特征:封装 继承 多态
《2》继承特征总结:
a.单继承可以一直继承下去代代相传
b.子类只能继承父类,无法继承父级下的同级子类
c.多继承使用方法:class 类名(父类,父类)
d.如果一个类继承多个父类优先会继承第一个类的属性和方法
e.子类和父类有同名的方法和属性,会覆盖父类的方法属性和方法
f.子类继承父类后,子类拥有父类的方法和属性
g.子类可以重写父类的方法和属性,重写之后子类就覆盖了父类的方法和属性
h.子类调用父类的方法和属性,用super()方法
《3》私有属性(了解):
a.定义:属性或者方法前面加个__
b.内部类和外部类:访问公有方法和私有属性、私有方法
(1)公有方法:内部类和外部类都可以访问
(2)私有属性:内部类和外部类都不能访问
(3)私有方法:内部类和外部类都不能访问
c.外部方法调用内部方法:访问私有属性无法访问
d.伪私有(并没有真意义上的私有 解决方案:_类名__名称)
《4》多态(了解)
a.定义:子类重写父类的方法,调用不同子类对象的相同父类方法,产生不同结果

《0038》Python高级语法闭包和装饰器
《1》装饰器定义:是给已有的函数增加额外的功能,本质是一个闭包函数
《2》闭包形成条件:a.实现函数嵌套 b.内部函数使用外部函数的变量 c.外部函数返回内部函数的名字
《3》实例方法、静态方法和类方法:可以通过对象去调用的
《4》静态方法和类方法:通过类去调用;实例方法只能创建对象,在通过类去调用

《0039》常见算法讲解
《1》冒泡排序:
《2》选择排序:
《3》递归算法:
posted on   隆江猪脚饭  阅读(32)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示