首页 > 其他分享 >第四周总结

第四周总结

时间:2022-10-23 19:12:29浏览次数:54  
标签:总结 __ 文件 py 导入 模块 四周 os

第四周总结

异常处理

语法结构

1.基本语法结构
    try:
        待监测的代码
    except 错误类型:
        针对上述错误制定的方案
2.查看错误信息
    try:
        待监测的代码
    except 错误类型 as e:
        针对上述错误制定的方案
3.针对不同的错误类型制定不同的方案
    try:
        待监测的代码
    except 错误类型1 as e:
        针对上述错误制定的方案1
    except 错误类型2 as e:
        针对上述错误制定的方案2
    ...
4.万能异常
    try:
        待监测的代码
    except Exceptions as e:
        针对各种常见错误类型做统一处理
5.结合else与finally一起使用
    try:
        待监测的代码
    except Exceptions as e:
        针对各种常见错误类型做统一处理
    else:
        try的子代码正常运行没有报错后执行的else子代码
    finally:
        无论try的子代码是否报错最后都要执行的finally子代码

异常处理关键字

1.assert  判断代码的对错
2.raise  主动抛异常

生成器

生成器对象

1.本质
    还是内置有__iter__和__next__方法的迭代器对象
2.生成器对象和迭代器对象的区别
    迭代器对象是由解释器提供的,而生成器对象是由程序员自己定义的
3.创建生成器的基本语法
    函数体代码中加yield关键字,函数名加括号调用后不是执行函数而是生成一个生成器对象
    将函数名加括号以后的结果使用__next__方法才会执行函数体代码,并且每次执行都会停留	在yield位置,下次基于该位置继续执行
4.yield用法
    1.函数在执行到该位置时会停留在该位置,下次基于该位置继续执行
    2.具有return的功能可以返回返回值
    3.冷门用法
        def eat(name, food=None):
        print(f'{name}准备吃饭')
        while True:
            food = yield
            print(f'{name}想吃{food}')
      遇到 food = yield 这种结构时用 send 传值     

生成器表达式

l1 = (i for i in range(10))

模块

模块简介

1.本质
    具有一定功能或代码的py文件
2.表现形式
    1.py文件
    2.含有多个py文件的文件夹(包)

模块分类

1.自定义模块
    自己写的
2.内置模块
    python解释器提供的
3.第三方模块
    一些python大佬写的模块文件

导入模块的两种句式

1.句式结构
    1.import...句式
    2.from...import...句式
2.二者优缺点
    import...句式
        每次使用模块名称空间中的名字都需要通过模块名点的方式,但不会与模块名称空间中的         名字冲突
    from...import...句式
        直接使用模块名称空间中的名字,不需要用点的方式,但是容易与执行文件名称空间中的         名字冲突
3.重复导入模块
    当我们在同一个执行文件中反复导入同一个模块时,只有第一次导入生效,后续导入不再执行
4.起别名
    在导入的模块名或者变量名后面加上 as 起的别名
5.多模块导入
    如果模块功能相似度高可以一起导入用逗号隔开,如果模块功能相似度不高则一个一个导入

循环导入问题

1.描述
    两个文件彼此使用各自文件名称空间中的名字,极容易报错
2.解决方案
    1.尽量避免
    2.在引用之前就把名字准备好

判断文件类型

使用__name__
__name__对应的值为__main__,则为执行文件
__name__对应的值为模块名,则为模块文件

模块查找顺序

1.内存
2.内置
3.执行文件所在的sys.path

绝对导入与相对倒入

1.绝对导入
    在导入模块名或者是变量名时可以精确到模块名或者是变量名,路径中如果存在多个文件名       时,文件名与文件名之间用点隔开
2.相对导入
    路径中的几种符号:
        . 表示当前目录
        .. 表示上一层目录
        ..\.. 表示上上一层目录
相对导入只能用在模块文件中,不能用在执行文件中

1.描述
   多个py文件的集合,也就是文件夹,在python2中只有内部含有__init__.py文件的文件夹才能被称之为包,python3中则无所谓,但是为了兼容性考虑,我们最好还是加上__init__.py
2.使用
    1.如果只需要使用包里面的某几个模块,那么按照正常方法就行了
2.如果是直接导入包名,那么其实就是直接导入包下面的__init__.py文件,该文件内有什么名字就可以通过包名点的方式使用什么名字
    如果我们想通过包名点的方式调用模块那么需要提前在__init__.py文件中导入模块名
    除了可以通过包名点的方式调用模块还可以直接使用绝对路径的方式调用模块

软件开发目录规范

项目文件夹
    1.bin文件夹  存放启动文件
        start.py  启动文件
    2.conf文件夹  存放配置文件
        settings.py  存放项目配置
    3.core文件夹  存放项目核心文件
        src.py  项目核心功能
    4.interface文件夹  存放项目接口文件
    5.db文件夹  存放项目相关数据
        db_handler.py  存放数据库操作相关代码
    6.log文件夹  存放项目日志文件
    7.lib文件夹  存放项目公共功能
    8.raadme文件  项目相关说明
    9.requirements.txt  存放项目所需模块及版本

常用内置模块

collecyions模块

1.namedtuple  具名元组
    给元组内的数据绑定一个名字,可以直接通过该名字访问到元组内对应的数据
2.deque  双端队列
3.counter 计数器
    计算数据集内各个数据的个数并组成字典返回
4.orderdict  有序字典

时间模块

python中时间的三种表现形式
    1.时间戳
    2.结构化时间
        给计算机看的
    3.格式化时间
        给人看的
time 模块
import time 
    time.time()  # 时间戳
    time.localtime()  # 结构化时间
    time.strftime()  # 格式化时间
    # 格式化时间的时间格式 年%Y 月%m 日%d 时%H 分%M 秒%S  %X时分秒
    time.striptime()  # 格式化时间转结构化时间
    time.sleep()  # 程序在此停留指定秒数
    
datatime模块
from datetime import data, datatime
    datetime.now()  # 当前时间
    datetime.today()  # 当前时间
    data.today()  当前日期

随机数模块

import random
    random.random()  # 随机产生一个0-1的小数
    random.randint()  # 随机产生一个指定范围的整数
    random.randrange()  # 在range()中随机挑选一个数
    random.choice()  # 在指定数据集中随机抽取一个数
    random.choices()  # 与choice作用一样但表现形式不同
    random.sample()  # 随机抽取指定样本数
    random.shuffle()  # 随机打乱给定的数据集

os模块

import os
1.创建目录/文件夹
    1.os.mkdir()  只能创建单级目录
    2.os.makedirs()  单级目录和多级目录都可以创建
2.删除目录/文件夹
    1.os.rmdir()  # 只能删除空的单级目录
    2.os.remocedirs()  # 只能删除空的多级目录
3.删除/重命名文件
    1.os.remove()  # 删除文件
    2.os.rename()  # 重命名文件
4.列举出指定目录下的内容名称
    os.listdir()
5.获取/切换当前工作目录
    1.os.getcwd()  # 获取当前工作目录
    2.os.chdir()  # 切换当前工作目录
6.动态获取项目根路径
    1.os.path.abspath(__dile__)  # 执行文件的绝对路径
    2.os.path.dirname(__file__)  # 执行文件所在目录路径
7.判断目录/文件是否存在
    1.os.path.isfile()  # 判断是否是文件
    2.os.path.isdir()  # 判断是否是目录
8.路径拼接
    os.path.join()

sys模块

import sys
1.sys.path  获取执行文件的sys.path
2.sys.getrecursionlimit()  获取python解释器的最大递归深度,括号内填写数字可以修改
3.sys.version  获取解释器版本

json模块

import json
针对数据
    1.json.dumps()  # 将数据转为json格式
    2.json.loads()  # 将json格式的数据转为编程语言能够识别的数据类型
针对文件
    1.json.dump()  # 将数据转为json格式并写入文件
    2.json.load()  # 从文件中读取json格式的数据并转为编程语言可以识别的数据类型

标签:总结,__,文件,py,导入,模块,四周,os
From: https://www.cnblogs.com/zyg111/p/16819171.html

相关文章

  • 2022-2023-1 20221324《计算机基础与程序设计》第八周学习总结
    ##作业信息这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#W......
  • 周总结
    周总结概要周总结详细异常1.异常处理能尽量少用就少用2.被try监测的代码能尽量少就尽量少3.当代码中可能会出现一些无法控制的情况下才应该考虑使用异常处理语法结......
  • 周总结(4)
    周总结(4)异常处理异常处理的语法结构try:被检测的代码exceptExceptionase: 针对上述被检测的代码指定的方案可以和else结合使用:被检测代码运行正常......
  • servlet的一些总结
    一、选择重定向还是转发在我们编写代码需要跳转页面时,我们会考虑要选择重定向还是转发下面是二者的一些区别: 1.重定向需要发送两次请求;而转发只需要发送一次请求2.......
  • 2022-2023-1 20221405 《计算机基础与程序设计》 第八周学习总结
    作业信息这个作业属于哪个课程2022-2023-1-计算机基础与程序设计这个作业要求在哪里2022-2023-1计算机基础与程序设计第八周作业这个作业的目标数组与链表......
  • 复盘:一次测试负责人岗位面试总结
    最近面试了某企业的测试负责人岗位,历经四面,收获蛮多的。这篇文章,我想聊聊这次面试过程中的一些经历,以及些许经验和教训。 岗位要求岗位名称:测试负责人岗位要求:1、扎......
  • 西语动词变位总结
    西语动词变位总结陈述式 modoindicativo一、现在时presente1.规则动词变位规律(纠正:ar第二人称为-áis)举个最简单的例子.trabajar变位:yotrabajo,tútrabaja......
  • 10.23学习总结
    10.23学习总结目录10.23学习总结一、常见内置函数二、可迭代对象三、迭代器对象四、生成器对象五、for循环的本质六、异常捕获七、异常捕获语法八、迭代取值与索引取值的......
  • 第四周总结
    目录异常处理语法结构异常处理语法结构可迭代对象、迭代器和生成器异常处理语法结构异常处理语法结构基本语法结构try:待监测的代码except错误类型:针对上......
  • python模块、异常处理、软件开发目录规范总结
    本周总结异常处理生成器模块软件开发目录1.异常处理1.1异常处理语法结构1.基本语法 try:待检测的代码(可能会出错的代码)except错误......