阅 读 文 章

转贴一篇不错的Python入门教程 - Instant Hacking[译文]

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(rockety) | 时间:2007-05-27 | 浏览:人次 ]



你可以用someList.remove(someElement)来删除someList中的someElement。

你可以用someList.append(something)为一个列表添加元素。事实上,你也可以使
用“+”(象someList = someList+[something])。但是效率不是太高。

你可以通过在列表名之后加上用括号括起来的表示某元素位置的数字(很奇怪,列
表的第1个元素,位置是0)来获得列表的某个元素。因此someList[3]是someList
列表的第四个元素(依次类推)。

你可以使用关键字del删除变量。它也可以用来删除列表中的元素(就象这里)。
因此del someList[0]删除someList 列表中的第一个元素。如果删除前列表是[1, 2,
3],删除后就变成了[2, 3]。

在继续叙述索引列表中的元素之前,我简单解释一下上面的例子。

这是古老算术的一个版本,称为“The Sieve of Erastothenes”(类似这样)。它考量一
系列给定数字(在本例中是一个列表),然后有组织的删除已知不是素数的数字。如何知
道?只要看看它们是不是可以被分解为其它两个数就可以了。

我们从一个包含数字[2...999]的候选列表开始--我们知道1是素数(事实上,它可能
是也可能不是,看你问谁了),我们想得到小于1000的所有素数。(事实上,我们的候
选列表是[3...999],但是2也是候选数字,因为它是我们的第一个base)。我们还有个叫result的列表,它任何时间都包含着最新的结果。最初的时候,它只包含1。我们还有个叫base的变量。每次循环,我们删除是它的倍数的数字(它总是候选列表中最小的数)。每次循环之后,我们知道剩下的最小的数是素数(因为所有可以分解的数我们都删除了)。

因此,我们把它加入result,并把它设为新的base,然后从列表里移除它(这样就不会对
它重复计算了)。当候选列表为空时,result列表将包含所有的素数。精巧吧,哈!
思考一下:第一次循环有什么特别吗?那时base 是2,但它一样经过了筛选。为什
么?为什么这不发生在其它的base值身上?我们打算移除product时能否确定它在候选列
表中呢?为什么?

接下来是什么呢?哦,是的……索引。还有切片。它们是从python列表中获得单个
元素的方法。你已经见到了普通的索引行为。它相当简单。事实上,我已经告诉了你所有
你需要知道的关于它的东西,除了一件事:负数索引从列表的末尾向前计算。所以,
someList[-1]是someList的最后一个元素,someList[-2]是它之前的一个元素,依次类
推。

切片,仍然,对你来说是陌生的。它和索引相似,除了切片可以获得列表中的所有的
元素,而不仅仅是单个的元素。这如何做呢?象这样:

food = [“spam”, “spam”, “eggs”, “sausages”, “spam”]
print food[2:4]

# Prints “['eggs', 'sausages']”

10. 继续抽象-对象和面向对象编程

现在有个比较热门的词叫做“面向对象编程”。

就象本段标题暗示的那样,面向对象编程仅仅是另外一种抽象细节的方式。程序通过
命名将简单的描述抽象为复杂的操作。在面向对象编程时,我们不仅可以这样对待程序,
还可以把它们做为对象。(现在,这肯定会让你吃惊,哈!)例如,如果编写烧火腿程
序,我们不用编写很多过程来处理温度、时间、成份等等,我们可以把它们结合为一个火
腿对象。或者,也许我们可以再有炉子对象和时钟对象……那么,象温度这类事物就变成
了火腿对象的一个属性,而时间可以从时钟对象读取。要使用我们的程序做某些事,我们
可以教给我们的对象某些方法;比如,炉子应当知道如何烹制火腿等。

那么--在python中我们如何做呢?我们不能直接制造一个对象。不能直接制造一个
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 译文 教程 入门 不错 我们 可以 一个 函数 这样 使用

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.