一篇不错的python入门教程-instant hacking[译文]

上传人:腾**** 文档编号:40532542 上传时间:2018-05-26 格式:DOC 页数:16 大小:56KB
返回 下载 相关 举报
一篇不错的python入门教程-instant hacking[译文]_第1页
第1页 / 共16页
一篇不错的python入门教程-instant hacking[译文]_第2页
第2页 / 共16页
一篇不错的python入门教程-instant hacking[译文]_第3页
第3页 / 共16页
一篇不错的python入门教程-instant hacking[译文]_第4页
第4页 / 共16页
一篇不错的python入门教程-instant hacking[译文]_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《一篇不错的python入门教程-instant hacking[译文]》由会员分享,可在线阅读,更多相关《一篇不错的python入门教程-instant hacking[译文](16页珍藏版)》请在金锄头文库上搜索。

1、 肯定来过译http:/ http:/www.hetland.org/python/instant-hacking.php Instant Hacking译文 译者: 肯定来过 这是一篇简短的关于 python 程序设计语言的入门教程,原文在这里,翻着词典翻译了来! 这是一份对编程艺术的简短介绍,其中的例子是用 python 写成的。(如果你已经知道了该如 何编程,但是想简单了解一下 python,你可以查阅我的另一篇文章 Instant Python。 )这篇 文章已经被翻译为意大利、波兰、日本、塞尔维亚以及巴西葡萄亚语等许多种语言,而且正 在被翻译为韩语。 (译者:当然,现在已经包括了中文

2、版本,只是作者并不知道。 ) 这篇文章和如何闯入别人的计算机系统之类的东西无关。我不关注那类事情,所以请不要 email 问我那些东西。 注意:要使此文中的例子正确运行,你应该把它们写在一个文本文件中,然后用解释器运行; 不要试图直接在交互方式下运行它们不是所有的都可以这样运行。 (不要问我和此有关 的具体细节。最好查阅 python 文档或者 email 给 helppython.org) 。 1. 运行环境 要用 python 写程序,你必须先安装一个 python 的解释器。它可以存在于大多数平台(包括 Macintosh、Unix 和 Windows) 。更多与此有关的信息可以在 py

3、thon 的网站上找到。你还应 该有一个文本编辑器(象 emacs、notepad 或者类似的东西) 。 2. 编程是什么? 为计算机写程序其实就是给它一系列的指令告诉它去做什么。计算机程序在某些方面就象是 菜谱,指导我们如何做菜的那种。例如1: 假日火腿沙拉 原料: 腌泡汁: 1/4 杯酸橙汁 1/4 杯低钠大豆酱油 1/4 杯水 1 大汤匙植物油 3/4 茶匙小茴香 1/2 茶匙牛至 1/4 茶匙热胡椒粉 2 片丁香、大蒜,捣碎 沙拉: 1 份(12 盎司)罐装少钠午餐肉火腿切成条状 1 个洋葱,切片 胡椒粉,切好的生菜 12 个樱桃西红柿,切半 方法: 把腌泡汁装在有合适盖子的广口瓶里摇

4、匀。用塑料袋装上火腿,泼上腌泡汁,封住袋口。在 电冰箱里腌制 30 分钟。从塑料袋里取出火腿;准备 2 大汤匙腌泡汁,在煮锅里煮一下。加 上火腿、洋葱、绿色的胡椒。烧 3 到 4 分钟直到火腿熟了为止 当然,没有一台计算机会懂这个而且即便是懂,大多数计算机也不可能烧制出一份沙拉。 那么,我们该如何让这些变得对计算机来说更为友好一些呢?从根本上说依赖于两点:首先, 我们必须以计算机可以理解的方式与之交流;其次还要和它谈论它能够做到的事情。 第一点意味着我们必须使用一种语言一种已经为之准备好了解释器的程序设计语言,第 二点意味着我们不能期望计算机为我们做一份沙拉但是我们可以让它做数字累加或者在 屏

5、幕上打印东西之类的事情。 3. Hello 程序设计教程有一个传统,通常以在屏幕上打印“Hello, world!”这样的程序做为开始。 对 python 来说,这非常简单: print “Hello, world!“它从根本上说很象上面的菜谱(尽管要短得多!) 。它告诉计算机做什么:打印“Hello, world!” 。如果让它打印更多的废话该怎么做呢?很简单: print “Hello, world!“ print “Goodbye, world!“不比上一个难,是不是?但是不怎么有趣我们希望它可以处理更多的元素,就象沙拉菜 谱那样。那么,我们都有哪些元素呢?首先,有字符串,象“Hello

6、, world!” ,除此之外还 有数字。假设我们打算让计算机为我们计算矩形的面积。我们可以给它如下的菜谱: # The Area of a Rectangle# Ingredients:width = 20 height = 30# Instructions:area = width * height print area你大概可以看出它同火腿沙拉菜谱的相似性(尽管有些细微的差别) 。但它是如何工作的呢? 首先,以#开始的行叫做注释事实上会被计算机忽略。然而插入象这样小段的注释对于增强 你程序的可读性来说是很重要的。 接下来,看起来象 foo = bar 这样的行叫做赋值。对于 width

7、= 20 这样的情况来说就是 告诉计算机从这里开始 width 就代表 20 了。它还意味着一个名字为“width”的变量从此被 创建了(如果它先前已经存在,那么会被重新覆盖) 。所以,我们以后使用这个变量的时候, 计算机就知道了它的值。因此, width * height 本质上同 20 * 30 一样会计算出 600 这个结果,然后赋给名称为“area”的变量。程序的最后一句在屏幕上打 印出变量“area”的值,所以你看到这个程序运行的最终结果仅仅是 600 注意:在某些程序设计语言中,你必须在程序开始的时候告诉计算机你将会用到哪些变量 (就象沙拉中的元素)而 python 足够聪明,所以

8、你可以根据需要随时创建。 4. 反馈 现在,你可以执行一些简单,或者再复杂一点的计算了。比方说,你或许打算写一段程序来计算圆形的面积而不是矩形的: radius = 30print radius * radius * 3.14然而,这事实上并不比计算矩形面积的那个程序更有意思。至少在我看来是这样。它有些僵 硬。如果我们看到半径为 31 的圆该怎么办?怎样让计算机知道?这有点象沙拉菜谱中的: “烧 3 到 4 分钟直到火腿熟了为止。 ”要知道何时烧熟,我们必须检查。我们需要反馈,或 者提示。计算机如何知道我们圆形的半径?同样需要输入资料我们可以做的是告诉计算 机半径是多少: radius = i

9、nput(“What is the radius?“) print radius * radius * 3.14现在程序变得漂亮一些了input 是个被称为函数的东西。 (很快你将学习创建你自己的 函数。而 input 是 python 内建的函数。 )仅仅写下 input 什么也不会做你必须在它的后面放上一对括号。所以 input()可以工作它会简单的 要求用户输入半径的长度。而上面的那个版本对用户来说也许更友好一些,因为它首先打印 出了一个问题。当我们将诸如提问字符串“What is the radius?”之类的东西放在函数调 用的括号中时,这个过程被称为函数的参数传递。括号中的内容被称

10、为参数。在上个例子中 我们传递了一个提问作为参数以便 input 知道在获得答案前应该先打印什么。 但是获得的答案如何到达 radius 变量呢?函数 input,调用时,会返回一个值(象许多其 它函数一样) 。你不一定非要使用这个值,但象我们这种情况,我们要使用它。这样,下面 这两个表达式有着很大的差别: foo = input bar = input()foo 现在包含 input 函数本身(所以它事实上可以象 foo(“What is your age?“)这样使用; 这被称为动态函数调用)而 bar 包含用户键入的值。 5. 流程 现在我们可以编写程序执行简单的任务(运算和打印)并且可

11、以获得用户输入了。这很有用, 但仍然局限在按顺序执行命令,也就是说它们必须按照事先安排好的顺序执行。大多数 火腿沙拉菜谱是象这样顺序或者线性叙述的。但是如果我们打算让计算机检查沙拉是否烧好 该怎样告诉它呢?如果烧好了,那么应该从烘箱里把它取出来否则的话,应该接着让它 烧更长一段时间什么的。我们如何表达这个? 我们想做的,其实是控制程序的流程。它可以从两个方向执行要么拿开火腿,要不继续 让它留在烘箱里。我们可以选择,条件是它是否烧好。这被称为条件执行。我们可以这样写:temperature = input(“What is the temperature of the spam?“)if tem

12、perature ; 50:print “The salad is properly cooked.“ else:print “Cook the salad some more.“意思很明显:如果温度超过 50(摄氏度) ,那么打印出信息告诉用户烧好了,否则,告诉用 户再烧制一段时间。 注意:缩进在 python 中很重要。条件执行(还有循环执行以及函数定义见后面)中的 语句块必须被缩进(而且要缩进同等数量的空格;一个键相当于 8 个空格)以便解释器可以 知道它们从哪里开始到哪里结束。这同时也使程序变得更加可读。 让我们回到先前的面积计算问题。能看出来这段程序做什么吗? # Area calc

13、ulation programprint “Welcome to the Area calculation program“ print “-“ print# Print out the menu: print “Please select a shape:“ print “1 Rectangle“ print “2 Circle“#Get the users choice: shape = input(“; “)#Calculate the area: if shape = 1:height = input(“Please enter the height: “)width = input(

14、“Please enter the width: “)area = height *widthprint “The area is “, area else:radius = input(“Please enter the radius: “)area = 3.14 * (radius*2)print “The area is “, area这个例子中的新东西: 1. 只使用 print 本身将打印出一个空行 2. =检查两个值是否相等,与=不同,后者把表达式右侧的值赋给左侧的变量。这是一个非 常重要的差别! 3. *是 python 的幂运算符因此半径的平方被写成 radius*2 4. p

15、rint 能够打印出不止一个东西。只要用逗号把它们分开就可以了。 (它们在输出时会用 单个空格分开。 ) 这个程序很简单:它要一个数字,告诉它用户打算让它计算矩形或是圆形的面积。然后,使 用一个 if 语句(条件执行)来决定应当执行哪个语句块计算面积。这两个语句块同先前面 积计算例子中使用的语句块本质上是一样的。留意注释是如何使代码变得更加可读的。编程 的第一条戒律就是:“你应当注释!”无论如何它都是一个应该养成的好习惯。 练习 1: 扩展上面的程序使它包括正方形面积的计算,用户只要输入它一条边的长度就可以了。做这 个练习之前你需要了解一件事:如果你有两个以上的选择,你可以象这样写: if f

16、oo = 1:# Do something. elif foo = 2:# Do something else. elif foo = 3:# If all else fails.这里的 elif 是意思为“else if”的神秘代码:)。所以,如 foo 等于 1,做某件事;否则, 如果 foo 等于 2,那么做另外的一些事,等等。你也可以在程序中加入其它的选项象三 角形以及任意多边形。随你的便。 6. 循环 顺序执行和条件执行仅仅是程序设计三个基本语句块架构方式中的两个。第三个则是循环执 行。在上个段落中我假设了一种情况,检查火腿是否烧好,但很明显它并不适用。如果下次 检查时火腿仍然没烧好该怎么办?我

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号