Python小白入门的学习记录 2

116 阅读2分钟

前几天因为一天到晚都在练车 没有怎么看 现在继续 今天看了会书 感觉自己太久没看书了 注意力不能完全集中 对事物的耐心也变得特别差 希望可以好好调整 废话结束 小技巧:多行注释 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()

还有无数的异常名称。。。。