输入和输出
输出print:
- Python中打印内容,通常都是使用print输出
- print是Python的内置函数,多参数、格式化输出,简单方便,易用
输入input:
- Python的内置函数
- 程序等待键盘输入内容
- 输入的内容为字符串
使用场景:
- 输出print:
- 参数显示
- 运行中打印结果
- 终端打印日志
- 服务运行输出
- 输入input:
- 命令行程序
- 算法竞赛题
总结:
1、输出问题:print函数为内置函数,支持多参数一起输出
2、输入问题:input函数返回值是字符串类型,注意类型的转换
3、交互问题:交互方式都是基于场景,例如web是表单,命令行是参数
文件操作
文件写入
- 文件函数:open()
- 打开文件:
file = open('filname'.'w',encoding='utf8')
file.write('content')
file.close()
- 代码解析:
- open:内置函数
- w:写模式
- utf8:通用编码模式
- close:关闭文件
文件读取
- 文件函数:open()
- 打开文件:
file = open('filname'.'r',encoding='utf8')
print(file.read())
file.close()
- 代码解析:
- open:内置函数
- r:读模式
- utf8:通用编码模式
- read:读取文件
日志文件:
logging.basicConfig(
level=logging.DEBUG, ##控制台打印的日志级别
filename='FileOpera.log',
filemode='w' ##模式,默认a,可选w(a追加,w覆盖)
format='%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s:%(massage)s'
- 官方模块:logging
- level:级别
- filename:文件名
- filemode:文件模式
- format:单行内容格式
总结:
1、写入问题:写入内容,不会自动换行,要记得加换行符\n
2、读取问题:读取操作是文件指针,通常是单行读取,不能往回读
3、日志文件:logging是官方库,通常是记录DEBUG及以上层级的信息
异常处理
程序的鲁棒性:鲁棒性是指系统的健壮性,它是在异常和危险情况下系统生存的关键。
例如:
- 用户误触输入
- 数据类型异常传入
- 硬盘处理异常
- 系统异常崩溃
异常处理语法:
try:
pass ##正常的操作
except:
pass ##发生异常,执行这块代码
else:
pass ##如果没有异常,执行这块代码
代码解析:
- try:内部可能出错的代码
- except:补抓异常,写处理代码
- else:try正常运行则执行else代码
基本错误类型:
- IndexError:索引错误
- KeyError:键错误
- AttributeError:属性错误
- OSError:系统错误
总结:
1、鲁棒性:写程序要注意各种可能性,一定要考虑全面
2、考虑问题:一是输入问题,可以规范;二是系统问题,异常判断
3、异常类型:异常的分类很多,不能死记,通常是靠经验去积累