Python《学习手册:第一章-习题》
- 人们选择Python的六大主要原因是什么?
- 软件质量:Python注重可读性、一致性和软件质量。
- Python代码的设计致力于可读性,因此具备了比传统脚本语言更优秀的可重用性和可维护性。
- Python的一致性保证了其代码易于理解。
- Python支持软件开发的高级重用机制。【例如:面向对象程序设计(OOP,object-oriented programming)】
- 提高开发者效率:
- Python程序可以立即运行,无需传统的编译/静态语言所必需的编译及链接步骤。
- Python代码的大小只有C++或Java代码的1/5-1/3。
- 程序的可移植性:
- Python在Linux和window之间移植Python代码,只需简单地进行代码复制粘贴即可。
- Python提供了多种可选的独立程序,包括用户图形界面、数据库接入、基于web的系统、程序启动与文件夹处理等操作系统接口。
- 标准库的支持:Python内置了众多预编译并可移植的功能模块。(标准库)
- 标准库支持一系列应用级的编程任务,涵盖了从字符模式到网络脚本编程等比配。
- Python可以通过自行开发的库或第三方库应用支持软件进行扩展。(第三方支持工具:网站开发、数值计算、窗口读写、游戏开发等)
- 组件集成:Python脚本可通过灵活的集成机制与其他应用程序的其他部分进行通信。
- 享受乐趣:Python的易用性和强大内置工具使编程成为一种乐趣。
- 出于什么样的原因会让你在程序中不适用Python?
- 程序的执行速度,不过Python代码在绝大多数应用领域运行速度也足够快。
- Python可以用来做什么?
- 系统编程:
- Python对操作系统服务的内置接口,Python程序可以搜索文件和目录树,可以运行其他程序,用进程和线程进行并行处理。
- Python标准库绑定了POSIX以及其他常规操作系统(OS)工具:环境变量、文件、套接字、管道、进程、多线程、正则表达式模式比配、Shell命令启动器、文件扩展等。
- 用户图形接口:
- Python的简洁以及快速开发周期十分适用于GUI程序。
- Internet脚本:
- Python提供了标准的Internet模块,它使得Python程序能够广泛地在多种网络任务中发挥作用。
- Python的Web开发工具包:Django、TurboGears、web2py、pylons、zope和WebWare。
- 组件集成:
- Python可以通过C/C++系统进行扩展,并能嵌套C/C++系统特性,使其作为一种灵活的黏合语言,可以脚本化处理其他系统和组件行为。
- 数据库编程:
- Python提供了对所有数据库系统的接口。例如:Oracle、Sybase、MySQL、SQLite等。
- 快速原型
- 数值计算和科学计算编程
- 游戏、图像、人工智能、XML、机器人等。
- 利用pygame系统使用Python对图形和游戏进行编程。
- 使用PySerial扩展在windows、Linux以及更多系统上进行窗口通信。
- 用PIL、PyOpenGL、Blender、Maya和其他一些工具进行图像处理。
- 用PyRo工具包进行机器人控制编程。
- 用xml库、xmlrpclib模块和其他一些第三方扩展进行XML解析。
- 使用神经网络仿真器和专业系统shell进行AI编程。
- 使用NLTK包进行自然语言分析。
- Python import this的意义?
下面是翻译和解释:
Python之禅 by Tim Peters
•优美胜于丑陋(Python 以编写优美的代码为目标)
•明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)
•简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)
•复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)
•扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)
•间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)
•可读性很重要(优美的代码是可读的)
•即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)
•不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写 except:pass 风格的代码)
•当存在多种可能,不要尝试去猜测
•而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)
•虽然这并不容易,因为你不是 Python 之父(这里的 Dutch 是指 Guido )
•做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)
•如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)
•命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)
Python《学习手册:第一章-习题》的更多相关文章
- Python中的多进程与多线程(一)
一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...
- Python高手之路【六】python基础之字符串格式化
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...
- Python 小而美的函数
python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况 any any(iterable) ...
- JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议
软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...
- 可爱的豆子——使用Beans思想让Python代码更易维护
title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...
- 使用Python保存屏幕截图(不使用PIL)
起因 在极客学院讲授<使用Python编写远程控制程序>的课程中,涉及到查看被控制电脑屏幕截图的功能. 如果使用PIL,这个需求只需要三行代码: from PIL import Image ...
- Python编码记录
字节流和字符串 当使用Python定义一个字符串时,实际会存储一个字节串: "abc"--[97][98][99] python2.x默认会把所有的字符串当做ASCII码来对待,但 ...
- Apache执行Python脚本
由于经常需要到服务器上执行些命令,有些命令懒得敲,就准备写点脚本直接浏览器调用就好了,比如这样: 因为线上有现成的Apache,就直接放它里面了,当然访问安全要设置,我似乎别的随笔里写了安全问题,这里 ...
- python开发编译器
引言 最近刚刚用python写完了一个解析protobuf文件的简单编译器,深感ply实现词法分析和语法分析的简洁方便.乘着余热未过,头脑清醒,记下一点总结和心得,方便各位pythoner参考使用. ...
- 关于解决python线上问题的几种有效技术
工作后好久没上博客园了,虽然不是很忙,但也没学生时代闲了.今天上博客园,发现好多的文章都是年终总结,想想是不是自己也应该总结下,不过现在还没想好,等想好了再写吧.今天写写自己在工作后用到的技术干货,争 ...
随机推荐
- 通过iframe引入另外一个项目中的html片段到项目中,解决样式,高度,兼容等问题的策略
<!--尾部开始--> <iframe src="http://172.16.24.11:9000/cartoon-web/footer_new" m ...
- Cocos2d中update与fixedUpdate的区别(一)
原文链接 关于这个问题cocos2d中的fixedUpdate:(或者是Unity中的FixedUpdate)在不同论坛中出现略显频繁.它被回答过很多次了,不管如何,每次一些童鞋在得到答案后还是有一些 ...
- Java集合之Set
Set也是继承自Collection,Set也是集合的一种,同时Set不允许重复的元素存在.Set的实现类都是基于Map来实现的,其中HashSet是通过HashMap来实现的,TreeSet是通过T ...
- 集群通信组件tribes之使用方法
上面已经对tribes的内部实现机制及原理进行了深入的剖析,在理解它的设计原理后看看如何使用tribes,整个使用相当简单便捷,只需要四步: ① 定义一个消息对象,由于这个消息对象是要在网络之间传递的 ...
- 网站开发进阶(一)Tomcat域名或IP地址访问方式配置方法
Tomcat域名或IP地址访问方式配置方法 1.配置www.***.com域名方式访问 在Tomcat下面配置域名(如:www.***.com)的时候,同时又不希望客户通过我们网站的IP或者域名访问到 ...
- C++中的new/delete
不同于C语言中的malloc/free是库函数,C++语言中的new/delete是运算符,而不是库函数. new/delete执行流程 我们经常会接触到的是new/delete operator(就 ...
- 第一个Polymer应用 - (0)准备工作
原文链接: Getting Started - Your first Polymer application翻译时间: 2014年7月5日翻译人员: 铁锚 关于Polymer 的简介,请参考 CSD ...
- HashMap是无序的
一. 说明 HashMap是基于哈希表Map的实现.设计初衷主要是为了解决键值(key-value)对应关联的,HashMap的优势是可以很快的根据键(key)找到该键对应的值(value),但是我们 ...
- MongoDB之Java测试代码(DAO层)
MongoInit.java是数据库初始化及连接类 MongoUtils.java是对mongodb的各种操作方法 MongoInit.java package com.wlwcloud.datate ...
- linux下分割和重组文件
linux shell命令里的split和cat命令可以轻松完成这两个功能,举个例子来说,比如一个1GB大小的文件foo.zip,以100M为块分割: 分割: split -b 100M -d foo ...