Python《学习手册:第一章-习题》

时间:2021-08-28 10:25:04
  • 人们选择Python的六大主要原因是什么?
  1. 软件质量:Python注重可读性、一致性和软件质量。
    1. Python代码的设计致力于可读性,因此具备了比传统脚本语言更优秀的可重用性和可维护性。
    2. Python的一致性保证了其代码易于理解。
    3. Python支持软件开发的高级重用机制。【例如:面向对象程序设计(OOP,object-oriented programming)】
  2. 提高开发者效率:
    1. Python程序可以立即运行,无需传统的编译/静态语言所必需的编译及链接步骤。
    2. Python代码的大小只有C++或Java代码的1/5-1/3。
  3.  程序的可移植性:
    1. Python在Linux和window之间移植Python代码,只需简单地进行代码复制粘贴即可。
    2. Python提供了多种可选的独立程序,包括用户图形界面、数据库接入、基于web的系统、程序启动与文件夹处理等操作系统接口。
  4. 标准库的支持:Python内置了众多预编译并可移植的功能模块。(标准库)
    1. 标准库支持一系列应用级的编程任务,涵盖了从字符模式到网络脚本编程等比配。
    2. Python可以通过自行开发的库或第三方库应用支持软件进行扩展。(第三方支持工具:网站开发、数值计算、窗口读写、游戏开发等)
  5. 组件集成:Python脚本可通过灵活的集成机制与其他应用程序的其他部分进行通信。
  6. 享受乐趣:Python的易用性和强大内置工具使编程成为一种乐趣。
  • 出于什么样的原因会让你在程序中不适用Python?
  1. 程序的执行速度,不过Python代码在绝大多数应用领域运行速度也足够快。
  • Python可以用来做什么?
  1. 系统编程:
    1. Python对操作系统服务的内置接口,Python程序可以搜索文件和目录树,可以运行其他程序,用进程和线程进行并行处理。
    2. Python标准库绑定了POSIX以及其他常规操作系统(OS)工具:环境变量、文件、套接字、管道、进程、多线程、正则表达式模式比配、Shell命令启动器、文件扩展等。
  2. 用户图形接口:
    1. Python的简洁以及快速开发周期十分适用于GUI程序。
  3. Internet脚本:
    1. Python提供了标准的Internet模块,它使得Python程序能够广泛地在多种网络任务中发挥作用。
    2. Python的Web开发工具包:Django、TurboGears、web2py、pylons、zope和WebWare。
  4. 组件集成:
    1. Python可以通过C/C++系统进行扩展,并能嵌套C/C++系统特性,使其作为一种灵活的黏合语言,可以脚本化处理其他系统和组件行为。
  5. 数据库编程:
    1. Python提供了对所有数据库系统的接口。例如:Oracle、Sybase、MySQL、SQLite等。
  6. 快速原型
  7. 数值计算和科学计算编程
  8. 游戏、图像、人工智能、XML、机器人等。
    1. 利用pygame系统使用Python对图形和游戏进行编程。
    2. 使用PySerial扩展在windows、Linux以及更多系统上进行窗口通信。
    3. 用PIL、PyOpenGL、Blender、Maya和其他一些工具进行图像处理。
    4. 用PyRo工具包进行机器人控制编程。
    5. 用xml库、xmlrpclib模块和其他一些第三方扩展进行XML解析。
    6. 使用神经网络仿真器和专业系统shell进行AI编程。
    7. 使用NLTK包进行自然语言分析。
  • Python import this的意义?
  • Python《学习手册:第一章-习题》

下面是翻译和解释:

  Python之禅 by Tim Peters
 
•优美胜于丑陋(Python 以编写优美的代码为目标)
•明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)
•简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)
•复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)
•扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)
•间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)
•可读性很重要(优美的代码是可读的)
•即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)
•不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写 except:pass 风格的代码)
•当存在多种可能,不要尝试去猜测
•而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)
•虽然这并不容易,因为你不是 Python 之父(这里的 Dutch 是指 Guido )
•做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)
•如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)
•命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)