Python 核心技术与实践 input&output
input() 函数暂停程序运行,同时等待键盘输入;直到回车被按下,函数的参数即为提示语,输入类型永远是 string。
print() 函数则接受 string 、 number (数字)、 dict 、list 甚至是一些自定义类的 output。
int() ,把 string 强制转换为 int 整数;
float(),把 string 强制转换为 float 浮点数;
在生产环境中使用强制转换时,请记得加上 try except (错误和异常处理)
Python 对 int 整数类型没有最大限制,对 float 浮点数类型有精度限制(双精度,64位,单精度,32 bits);
numpy 扩展库 ,可以精确控制区间和数字精度;
C++ 的 int 整数类型 最大为 2147483647,超出这个数字会溢出。
计算机中文件访问的基础知识,计算机内核(kernel)对文件处理相对比较复杂,涉及到内核模式、虚拟文件系统、锁和指针等一系列概念。
用 open() function 拿到文件的指针,第一个参数指定文件位置(相对位置或绝对位置);第二个参数,"r" 代表读取、"w" 代表写入、 "rw" 代表读取和写入、 "a" 代表追加 append 不过用的比较少,打开的文件,如果写入,会从原始文件的最末尾写入。
拿到指针后,通过 read() function 来读取文件的全部内容。
给 read 指定参数 size ,用来表示读取的最大程度;
readline() 每次读取一行,常用语数据挖掘(data mining) 中的数据清洗。
open() function 对应于 close() function 打开了文件,在完成读取任务后,就应该立刻关掉它。
所有I/O都应该进行错误处理,因为I/O可能会有各种各样的情况出现,而一个健壮 (robust) 的程序,需能应对各种情况发生,而不应该崩溃(故意设计的情况除外)。
JSON 序列化
JSON (JavaScript object notation) 是一种轻量化的数据交换格式。
json.dumps() 函数,接受Python的基本数据类型,然后将其序列化为 string;
json.loads() 函数,接受一个合法字符串,然后将其反序列化为 Python 的基本数据类型。
I/O 操作需谨慎、一定要充分错误处理,并细心编码,防止出现编码漏洞;
编码时,对内存占用和磁盘占用要有充分估计,这样在出错的时候,就可很容易的找到原因;
JSON 序列化是很方便的工具,要结合实战多多练习;
代码尽量简洁、清晰,哪怕是初学阶段,也要有一颗当元帅的心。
版权声明: 本文为 InfoQ 作者【Bonaparte】的原创文章。
原文链接:【http://xie.infoq.cn/article/274b27fd29db4227c537c7145】。未经作者许可,禁止转载。
评论