作者回复: 谢谢,希望您能够在课程中有所收获。
作者回复: 想想for …in…结构的in后面可以接什么东西呢?如果查官方文档你就会发现后面接的是序列,那么序列哪种特性可以通过for…in便利呢?就是它的可迭代,所以这里的for…in…后面的对象只要可迭代就可以使用了。 那接下来就简单了,file.readlines是个列表,列表就是序列的一种啊,所以for…in就能处理了,那file呢?通过type()函数查看是file类,同样可迭代,那就没有必要转换成列表再遍历了呀。
作者回复: 用遍历是为了让从其他编程语言转过来的同学熟悉一下python的for语句的写法,也为了讲解时清楚每一个步骤的功能,其实是不够Pythonic的,建议用第二种方法;我在后面一样用了同样方法讲了open()和上下文管理器功能,等同学们熟悉了这两个功能之后,我们会用更优雅的写法 with open来替换掉不够Pythonic的代码。
作者回复: 复制粘贴和视频剪辑,想让大家看的更流畅,并不是黑魔法
作者回复: 1 请先搜索gbk gb18030 gb2312 的区别 2 改为gbk(和源文件一样的编码)打开即可 3 操作系统(windows)也有默认的编码格式的,如果和文本的编码不一致会报错的
作者回复: 这是非常典型的字符编码不一致导致的错误,例如txt文件是utf-8编码,无论使用gbk还是gb18030都无法正确读取的,最简单确定编码的方法是,可以在pycharm打开文本文件,在上方会提升该文件的编码,通过右下角的编码的convert功能还可以转换成不同的编码格式供编程测试
作者回复: 1 首先应该有注释,每个函数的功能应该描述清楚 2 考虑到只有函数,没有学习其他功能,目前拆分还算合理 3 更合理的参考 SOLID原则 与 设计模式
作者回复: 这是Python2版本的提示,你的电脑上应该安装了python2 python3 两个版本, 看一下解释你的代码的python路径,换成python3的
作者回复: f3 = open('sanguo_T.txt', encoding='GBK') 使用gbk编码打开
作者回复: 官方文档在docs.python.org可以看到,是英文版的,中文文档在搜索引擎里面搜 python3中文手册即可,高于python3.5的版本即可,但是翻译过来一般都会加上作者自己的理解,建议和英文文档对照着看,避免因作者笔误或理解不到位导致你遇到问题。