前几天因为一天到晚都在练车 没有怎么看 现在继续 今天看了会书 感觉自己太久没看书了 注意力不能完全集中 对事物的耐心也变得特别差 希望可以好好调整 废话结束 小技巧:多行注释 ctrl+/
字典(映射)的定义和常用操作
字典:由哈希值和指向的对象组成(简单来说就是对应关系 例如 一个长方形的长10 宽5)
{"哈希值":"对象"}
{'length:180','width:80'}
字典的定义
dict2={'x':1,'y':2} (定义)
dict2['z']=3 (增加值)
print(dict2)-->{'x':1,'y':2,'Z':3}
字符串替换:%d 整数 %s 字符串 和c输出一样。。。
列表推导式&字典推导式
①列表 alist={}
for i in range(1,11):
if(i%2)==0:
alist.append(i*i)
print(alist)
转化为
alist={i*i for i in range(1,11) if(i%2)==0}
print(alist)
②字典 z_num={}
zodiac_name=(v'王',v'李')
for i in zodiac_name:
z_num[i]=0
{i:0 for i in zodiac_name}
文件和输入输出
文件的基本函数
① open() 打开文件 若没有规定打开模式 默认只读 不可写入 写入模式open('文件名','w') 增加文字且不被覆盖 把'w'换成'a'
② read() 输入
③ readline() 输入一行
④ seek() 文件内移动
⑤ write() 输出
⑥ close() 关闭文件
文件的写入和读取
写入:open()-->write()-->close()
读取:open()-->read()-->close()
文件逐行输出
file=open('文件名')
for line in file5.readlines(): 注意这里是readlines
print(line)
print('====')
,.
文件的重复处理
seek(5,0)
两个参数 第一个表示偏移量 第二个参数 0表示从文件开头便宜 1表示从当前位置偏移 2 从文件结尾
异常处理
异常不等于错误 而是指在出现错误时采用正常控制流意外的动作
一般流程:检测到错误,引发异常-->对异常进行捕获操作
异常处理操作:
try:<监控异常>
except Exception[,reason]:<异常处理代码> 捕获异常
Exception 捕获全部信息
finally:<无论异常是否发生都执行>
例:
①单个异常
try:
year=int(input('输入年份:'))
except ValueError:
print('年份要输入数字')
②多个异常
except (ValueError,AttributeError,KeyError)
③ 打印错误信息
try:
print(1/0)
except ZeroDivisionError as e: 把错误信息重命名为一个变量
print('0不能做除数%s' %e) 将变量一起打印
----> 0不能做除数division by Zero
④自行定义异常信息 try:
raise NameError('helloError')
except NameError:
print('My custom error')
各类异常
NameError:未被定义
i=j
SyntaxError:语法错误
print())
IndexError:索引错误
a='123' print(a[3])
KeyError:字典中不存在Key
d={'a':1,'b':2} print(d['c'])
ValueError:函数接收正确类型但值不合适的参数
year=int(input('输入年份:'))
输入年份:abc
AttributeError:属性错误
a=123
a.append()
还有无数的异常名称。。。。