刷题第一天记录
刷题 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 | 保留小数点后边六位有效数字 |

浙公网安备 33010602011771号