• 人们选择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. XBMC源代码分析 2:Addons(皮肤Skin)

    前文已经对XBMC源代码的整体架构进行了分析: XBMC源代码分析 1:整体结构以及编译方法 从这篇文章开始,就要对XBMC源代码进行具体分析了.首先先不分析其C++代码,分析一下和其皮肤相关的代码. ...

  2. CentOS 7 运行级别的切换

    CentOS 7 运行级别的切换 由命令行级别切换到窗口级别的命令未变:init 5或startx 由窗口级别切换到命令行级别的命令未变:init 3 新版本的运行级别都定义在 /lib/system ...

  3. 结合FireBreath在Chrome/FireFox的多进程模式下崩溃一例

    FireBreath是跨浏览器跨操作系统的插件方案,它封装了ActiveX和NPAPI的插件接口,使用统一的API来暴露JSAPI.Chrome和FireFox使用NPAPI,IE使用ActiveX. ...

  4. RGB颜色转换算法C语言实现

    typedef unsigned short     TUINT16; #define RGB565(R, G, B) \ (((TUINT16) ((R) >> 3)) << ...

  5. iOS监听模式系列之关于delegate(代理,委托)的学习

    首先,大家应该都明白的是委托是协议的一种,顾名思义,就是委托他人帮自己去做什么事.也就是当自己做什么事情不方便的时候,就可以建立一个委托,这样就可以委托他人帮自己去实现什么方法. 其次,我简单的总结了 ...

  6. 使用vs2010 opencv2.4.4编译release版本程序

    大体上要注意一下几点内容: 1.vc++目录的选择上,库目录选择为opencv目录中的staticlib目录 2.在链接->输入->附加依赖库,中添加,相应的staticlib库目录中的所 ...

  7. asp.net core选项配置的研究

    asp.net-core选项模块是全新,可拓展的框架,其作用在整个.net-core框架中,就像依赖注入一样无处不在,是一个很重要的组件. 其实配置模块与选项模块是紧密相连的,我们可以使用Config ...

  8. 自制node.js + npm绿色版

    自制node.js + npm绿色版   Node.js官网有各平台的安装包下载,不想折腾的可以直接下载安装,下面说下windows平台下如何制作绿色版node,以方便迁移. 获取node.exe下载 ...

  9. Vi 操作命令

    进入vi的命令  vi filename :打开或新建文件,并将光标置于第一行首  vi +n filename :打开文件,并将光标置于第n行首  vi + filename :打开文件,并将光标置 ...

  10. Java---SSH(MVC)面试题

    1.        谈谈你mvc的理解 MVC是Model-View-Controler的简称.即模型-视图-控制器.MVC是一种设计模式,它强制性的把应用程序的输入.处理和输出分开. MVC中的模型 ...