[译]The Python Tutorial#Whetting Your Appetite

1. Whetting Your Appetite

如果你需要使用计算机做很多工作,最终会发现很多任务需要自动化。例如,在大量文本文件中搜索替换,或者以更加复杂的方式对大量图片进行重命名或者整理。也许你想要编写一个小型自定义数据库,一个特殊用途的GUI应用或者一个简单的游戏。

如果你是专业的软件开发者,可能不得不使用多个C/C++/Java库,它们的编写/编译/测试/重编译周期是如此的漫长。也许你正为这些库编写测试用例,感到编写测试代码是多么乏味的任务。或者你可能开发了一个可以使用扩展语言的程序,但是你并不希望为此设计并实现一门全新的语言。

那么,Python正是为你而生的语言。

虽然可以编写Unix shell脚本或者Windows批处理文件来完成某些任务,但是shell脚本更适用于文件移动和文件数据修改,并不适用于GUI应用或者游戏。虽然可以编写C/C++/Java程序来实现,但是即使是一个最初版本的程序也会耗费大量的开发时间。Python易于使用,可以在Windows,Mac OS X以及Unix操作系统上运行,并且更快完成工作。

Python使用简单,但是它确实是一门真正的编程语言,相比shell脚本或者批处理文件,它为大型程序提供了更多的数据结构以及支持。另一方面,相较于C语言,Python提供了更多的错误检查,作为一门高级语言,Python支持高层次的内置数据结构,如灵活的数组以及字典。受益于其通用的数据类型,相比Awk甚至Perl,Python适用于更加大型的问题领域。至于其他方面,Python至少与其他语言一样简单。

Python允许将程序分割为模块,模块在其他Python程序中可重用。Python提供了大量标准模块,可以使用这些模块作为程序的基础——或者作为示例来学习Python编程。这些模块提供了对文件I/O,系统调用,套接字的支持,甚至提供了类似 Tk 的用户GUI工具包接口。

Python是解释型语言,由于无需编译和链接,在开发过程中可以节省大量时间。解释器可以交互式使用,这使得实验语言特性,编写临时程序或者在自底向上程序开发中测试函数变得很容易。Python也是一个便利的桌面计算器。

Python使得程序简洁并可读。Python写的程序通常比C,C++或者Java写的程序更加精简,原因如下:

  • 高层级数据结构允许使用简单的语句表达复杂的操作;
  • 语句组织使用缩进实现,而不是使用大括号实现;
  • 无需变量或者参数声明。

Python可扩展:如果你可以使用C语言编程,可以轻易为解释器添加新的内置函数或者模块,新的内置函数或者模块可以以最快速度执行关键操作,或者将Python程序链接到仅在二进制模式中可用的库(如供应商指定的图形库)。一旦真正掌握Python,可以将Python解释器连接到C实现的应用中,作为该应用的扩展或者命令行语言。

顺便说一句,Python的名字来源于BBC节目“Monty Python's Flying Circus”,跟爬行动物没有任何关系。在文档中引用 Monty Python不仅可行,而且值得鼓励!

现在你一定对Python兴奋不已了,想要更深入实验更多细节了吧。由于学习语言最好的方式是使用它,该手册推荐你阅读手册的同时使用Python解释器实现其中的示例。

下一章节会介绍解释器使用的方法。相当简单,但是对于实验后续章节的示例至关重要。

手册的余下部分通过示例介绍Python语言和系统的不同特性,以简单的表达式,语句和数据类型开始,接下来是函数和模块,最后介绍高级内容,如异常和用户自定义类。

[译]The Python Tutorial#1. Whetting Your Appetite的更多相关文章

  1. [译]The Python Tutorial#11. Brief Tour of the Standard Library — Part II

    [译]The Python Tutorial#Brief Tour of the Standard Library - Part II 第二部分介绍更多满足专业编程需求的高级模块,这些模块在小型脚本中 ...

  2. [译]The Python Tutorial#10. Brief Tour of the Standard Library

    [译]The Python Tutorial#Brief Tour of the Standard Library 10.1 Operating System Interface os模块为与操作系统 ...

  3. [译]The Python Tutorial#12. Virtual Environments and Packages

    [译]The Python Tutorial#Virtual Environments and Packages 12.1 Introduction Python应用经常使用不属于标准库的包和模块.应 ...

  4. [译]The Python Tutorial#2. Using the Python Interpreter

    [译]The Python Tutorial#Using the Python Interpreter 2.1 Invoking the Interpreter Python解释器通常安装在目标机器的 ...

  5. [译]The Python Tutorial#7. Input and Output

    [译]The Python Tutorial#Input and Output Python中有多种展示程序输出的方式:数据可以以人类可读的方式打印出来,也可以输出到文件中以后使用.本章节将会详细讨论 ...

  6. [译]The Python Tutorial#8. Errors and Exceptions

    [译]The Python Tutorial#Errors and Exceptions 到现在为止都没有过多介绍错误信息,但是已经在一些示例中使用过错误信息.Python至少有两种类型的错误:语法错 ...

  7. [译]The Python Tutorial#5. Data Structures

    [译]The Python Tutorial#Data Structures 5.1 Data Structures 本章节详细介绍之前介绍过的一些内容,并且也会介绍一些新的内容. 5.1 More ...

  8. [译]The Python Tutorial#4. More Control Flow Tools

    [译]The Python Tutorial#More Control Flow Tools 除了刚才介绍的while语句之外,Python也从其他语言借鉴了其他流程控制语句,并做了相应改变. 4.1 ...

  9. [译]The Python Tutorial#6. Modules

    [译]The Python Tutorial#Modules 6. Modules 如果你从Python解释器中退出然后重新进入,之前定义的名字(函数和变量)都丢失了.因此,如果你想写长一点的程序,使 ...

随机推荐

  1. Hive项目实战:用Hive分析“余额宝”躺着赚大钱背后的逻辑

    一.项目背景 前两年,支付宝推出的“余额宝”赚尽无数人的眼球,同时也吸引的大量的小额资金进入.“余额宝”把用户的散钱利息提高到了年化收益率4.0%左右,比起银行活期存储存款0.3%左右高出太多了,也正 ...

  2. Storm概念学习系列之事务

    不多说,直接上干货! 事务 这里的事务是专门针对Topology提出来的,是为了解决元组在处理失败重新发送后的一系列问题的.简而言之,事务拓扑(transactional topology)就是指St ...

  3. android 开发AlertDialog.builder对话框的实现

    AndroidAPI提供了Dialog对话框控件,但google明确指出不建议开发者只是使用Dialog来创建对话框,而应该自定义对话框或者使用API中提供的Dialog的子类,如AlertDialo ...

  4. Docker:安装部署RabbitMQ

    前言 今天原本想讲解SpringBoot集成RabbitMQ的,临近开始写时才发现家里的电脑根本没有安装RabbitMQ呀.这下只好利用已有的阿里云服务器,直接Docker安装一下了,顺道记录下,算是 ...

  5. 面试(Java之IO与NIO)

    一.概念 NIO即New IO,这个库是在JDK1.4中才引入的.NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多.在Java API中提供了两套N ...

  6. SID1190471 / 烦人的幻灯片 暴力出奇迹 !!!!!!!!!!!!!!!!!!

    PID221 / 烦人的幻灯片 ☆ 提交你的代码 查看讨论和题解 你还木有做过哦 我的状态         查看最后一次评测记录 质量还不能统计出来哦~ 题目评价 质量 无 ★★★★★ ★★★★☆ ★ ...

  7. html的语法 3

    <html> <head> <title>这是第一节课网页标题</title> <!--meta charset="UTF-8" ...

  8. 构建第一个Spring Boot2.0应用之集成mybatis(六)

    一.环境: IDE:IntelliJ IDEA 2017.1.1 JDK:1.8.0_161 Maven:3.3.9 springboot:2.0.2.RELEASE 二.步骤 方式一:利用配置文件配 ...

  9. 画报表框架——Echarts.js

    官网:http://echarts.baidu.com/index.html ————————————————————————————————— 先看看我做的第一个柱状图形报表 ——————————— ...

  10. jQuery_3_过滤选择器

    过滤选择器(过滤器)类似于CSS3里的伪类,包含 1. 基本过滤器 2. 内容过滤器 3. 可见性过滤器 4. 子元素过滤器 5. 其他方法 一.  基本过滤器 过滤器名 jQuery语法 注释 :f ...