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线上问题的几种有效技术
工作后好久没上博客园了,虽然不是很忙,但也没学生时代闲了.今天上博客园,发现好多的文章都是年终总结,想想是不是自己也应该总结下,不过现在还没想好,等想好了再写吧.今天写写自己在工作后用到的技术干货,争 ...
随机推荐
- uploadify在火狐下上传不了的解决方案,java版(Spring+SpringMVC+MyBatis)详细解决方案
由于技术选型的原因,在一个产品中,我选择了uploadify,选择它的原因是它有完善的技术文档说明(http://www.uploadify.com/documentation/),唯一不足的是 ...
- android ndk编译项目(android-ndk-16r1)
由于采用android-ndk-16r1版本的ndk来编译 编译的环境之类在这里省略,注意是最后编译的命令如下 Administrator@WIN-AF6P80LVIJ0 ~ $ cd $ANDROI ...
- JNI动态注册native方法及JNI数据使用
前言 或许你知道了jni的简单调用,其实不算什么百度谷歌一大把,虽然这些jni绝大多数情况下都不会让我们安卓工程师来弄,毕竟还是有点难,但是我们还是得打破砂锅知道为什么这样干吧,至少也让我们知道调用流 ...
- Android Studio中创建Kotlin For Android项目
Kotlin俗称Android中的Swift,它是Jetbrains公司开发的基于JVM的一门语言,JetBrains公司可能大家并不熟悉,不过相信IntelliJ IDE大家一定知道,Android ...
- 【翻译】了解ASP.NET MVC中的Ajax助手
原文:Understanding AJAX Helpers in ASP.NET MVC 作者: Shailendra Chauhan works as Software Analyst at rep ...
- Android NFC开发(一)——初探NFC,了解当前前沿技术
Android NFC开发(一)--初探NFC,了解当前前沿技术 官方文档:http://developer.android.com/guide/topics/connectivity/nfc/ind ...
- Objective-C的面向对象特性(二)
在Objective-C语言中, 类别.类扩展(也称为匿名类别)以及协议是Objective-C 语言级别支持的模式,用来实现对类进行功能扩展. 一.类别--用来增加方法到已存在类 声明一个类别的语法 ...
- PS 滤镜算法原理——照亮边缘
这个算法原理很简单,对彩色图像的R,G,B 三个通道,分别求梯度,然后将梯度值作为三个通道的值. clc; clear all;Image=imread('4.jpg');Image=double(I ...
- Nginx的内部(进程)模型
nginx是以多进程的方式来工作的,当然nginx也是支持多线程的方式的,只是我们主流的方式还是多进程的方式,也是nginx的默认方式.nginx采用多进程的方式有诸多好处. (1)nginx在启动后 ...
- $cordovaCamera 插件 上传头像 图片功能
首先要注入 $cordovaCamera 使用相机拍照 var useCamera = function() { var options = { //这些参数可能要配合着使用,比如选择了source ...