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

Python《学习手册:第一章-习题》的更多相关文章

  1. Python中的多进程与多线程(一)

    一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...

  2. Python高手之路【六】python基础之字符串格式化

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  3. Python 小而美的函数

    python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况   any any(iterable) ...

  4. JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议

    软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...

  5. 可爱的豆子——使用Beans思想让Python代码更易维护

    title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...

  6. 使用Python保存屏幕截图(不使用PIL)

    起因 在极客学院讲授<使用Python编写远程控制程序>的课程中,涉及到查看被控制电脑屏幕截图的功能. 如果使用PIL,这个需求只需要三行代码: from PIL import Image ...

  7. Python编码记录

    字节流和字符串 当使用Python定义一个字符串时,实际会存储一个字节串: "abc"--[97][98][99] python2.x默认会把所有的字符串当做ASCII码来对待,但 ...

  8. Apache执行Python脚本

    由于经常需要到服务器上执行些命令,有些命令懒得敲,就准备写点脚本直接浏览器调用就好了,比如这样: 因为线上有现成的Apache,就直接放它里面了,当然访问安全要设置,我似乎别的随笔里写了安全问题,这里 ...

  9. python开发编译器

    引言 最近刚刚用python写完了一个解析protobuf文件的简单编译器,深感ply实现词法分析和语法分析的简洁方便.乘着余热未过,头脑清醒,记下一点总结和心得,方便各位pythoner参考使用. ...

  10. 关于解决python线上问题的几种有效技术

    工作后好久没上博客园了,虽然不是很忙,但也没学生时代闲了.今天上博客园,发现好多的文章都是年终总结,想想是不是自己也应该总结下,不过现在还没想好,等想好了再写吧.今天写写自己在工作后用到的技术干货,争 ...

随机推荐

  1. Android群英传笔记——第七章:Android动画机制和使用技巧

    Android群英传笔记--第七章:Android动画机制和使用技巧 想来,最 近忙的不可开交,都把看书给冷落了,还有好几本没有看完呢,速度得加快了 今天看了第七章,Android动画效果一直是人家中 ...

  2. 如何在代码中取得一个特点type的关节

    我们可以在初始化方法中添加如下代码: -(void)didLoadFromCCB{ Class distanceJointClass = NSClassFromString(@"CCPhys ...

  3. Linux - man page

    使用man date来查看date命令的详细信息. lucifer@lucifer-virtual-machine:~$ man date DATE(1) User Commands DATE(1) ...

  4. 网站开发进阶(十四)JS实现二维码生成

    JS实现二维码生成 绪 项目开发原语:已然花费半天的时间,仍旧未能将二维码显示在订单中.但是可以在单个页面中显示二维码,结合到angularjs的控制器中就失效了,自己是真的找不到其中的原因了.费解! ...

  5. Spring--ApplicationContext

    //中心接口,给应用提供配置信息 public interface ApplicationContext extends EnvironmentCapable, ListableBeanFactory ...

  6. Linux - 有效群组(effective group)与初始群组(initial group),groups,newgrp

    每个使用者在他的 /etc/passwd 里面的第四栏有所谓的 GID ,那个 GID 就是所谓的『初始群组 (initial group) 』!也就是说,当用户一登陆系统,立刻就拥有这个群组的相关权 ...

  7. LDA

    2 Latent Dirichlet Allocation Introduction LDA是给文本建模的一种方法,它属于生成模型.生成模型是指该模型可以随机生成可观测的数据,LDA可以随机生成一篇由 ...

  8. Eclipse修改工程名字

    1:修改项目目录下:.project文件 <?xml version="1.0" encoding="UTF-8"?> <projectDes ...

  9. mybatis ---- 实现数据的增删改查

    前面介绍了接口方式的编程,需要注意的是:在book.xml文件中,<mapper namespace="com.mybatis.dao.IBookDao"> ,命名空间 ...

  10. Nginx + IIS实现负载均衡 Session多站点共享

    日子过得太索然无味了,研究了一下,所谓的负载均衡(主要是windows服务器IIS下的).先看看分析图:环境:linux服务器: centos 6.3windows服务器: windows serve ...