刷题第一天记录
刷题 Day one
题目说明(花式计算A+B的值)
input()
用于接收输入的内容。注意:得到的是字符串类型
map()
- 作用:接收一个函数f和一个list,把函数f逐个作用在list的每个元素上。得到的还是一个list
- 形式:map(f,list)或者还可以map(f,list1,list2)并行的对后两个列表进行操作
- 具体的用法:用来类型转换、遇到None的时候作用类似于zip()函数
- 拓展:在新的Python中可能输出的是<map object at 0x00****>,要想得到正确的结果应该,使用list再转换一下list(map(f,list1))
回忆一下关于Python列表的操作方法
- 访问列表中的某个元素:list[x]
- 切片访问列表中的元素:list[x:y]
- append增加元素:list.append(x)
- del删除元素:del list[x]
.strip()
- s.strip(x)删除s字符串中开头结尾处的x
- s.lstrip(x)删除s字符串中开头的x
- s.rstrip(x)删除s字符串中结尾的x
- 如果为空默认删除空白符(包括'\n','\r','\t','')
.split()
- 输出为列表
- s.split(x)按x分割字符串,x可以是字符、字符串
- s.split(x,n)按x分割字符串,分割n次
- a,b=s.split(x,1)按x分割字符串,分割1次,并将分割结果分别赋值给a,b
异常处理机制
- 意义:不会显示出生硬的traceback,而是会有except自己决定想要让用户知道的报错信息,能够自己控制想要分享的报错信息的程度
- 联系:这也是上学期课程大作业中的某个操作以及期末一个大题的核心思想,就是捕捉到可能发生的所有异常,然后人性化的提示用户操作错误。
raise抛出异常
有raise语句的地方就是异常,不管程序本身是不是真的有异常
自定义异常类型
创建一个新的异常类(继承自exception类)
常见的异常类型
异常名 | 描述 |
---|---|
BaseError | 所有异常的基类 |
SystemExit | 解释器请求退出 |
KeyBoardInterrupt | 用户中断执行 |
Exception | 常规错误的基类 |
AssertionError | 断句错误,出现在assert关键字后边的条件为假时 |
FileNotFoundError | 文件不存在 |
AttributeError | 属性错误,对象属性不存在的时候 |
IndexError | 索引错误,超范围 |
KeyError | 在字典中查找一个不存在的关键字 |
NameError | 尝试访问一个不存在变量 |
SyntaxError | 语法错误 |
TypeError | 类型错误,不同类型之间的无效操作 |
ZeroDivisionError | 除0错误,分母为0 |
EOFError | 没有内建输入,到达EOF标记 |
IOError | 输入/输出操作失败 |
OSError | 操作系统错误 |
WindowsError | 系统调用失败 |
RuntimeError | 一般的运行时错误 |
IndentationError | 缩进错误 |
SystemError | 一般的解释器错误 |
TabError | Tab和空格混用 |
Warning | 所有警告的基类 |
注意异常后的清理工作,使用finally或者回滚操作
回滚操作
回忆上学期期末中关于事务操作中提交和回滚的概念:事务是指要做的事情,执行程序涉及的操作等等。事务提交就是指事务中的所有的操作都正常完成。事务的回滚是指程序出现错误从而将程序或数据恢复到上一次正确状态的行为。
print()的格式化输出
print('%d\t\n'%数值)和C有点像的,但是格式和数值之间不是用逗号而是用的%来区分的。数值要与之前安排好的数值区分开来。在里边可以加上各种特殊符号\b,\n,\t等。
格式 | 含义 |
---|---|
%d | 十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数 |
%f | 保留小数点后边六位有效数字 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现