阅 读 文 章

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

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



setAge(100)
print age

# Prints "100"

了解对象(随后谈到)后,你会发现更好的解决这个问题的办法是使用一个有age属
性和setAge方法的对象。在数据结构那段,你也将会发现一些函数改变它的环境的更好的
例子。
好了--那么真正的函数是什么样?什么是函数呢,事实上?数学函数象一种“机
器”,获得输入然后计算结果。它会每次返回同样的结果,如果每次提供它同样的输入。
例如:

def square(x):
return x*x

这和数学上的函数f(x)=x*x 一样。它的行为象一个精确的函数,仅仅依赖于它的输
入,在任何情况下都不改变它的环境。

所以--我这里描绘了两种构造函数的方法:一种类型更象是过程,不返回任何结
果;另一种更象是数学上的函数,(几乎)什么也不做就是为了返回一个结果。当然,在
这两种极端事物之间做某些事情是可能的,尽管当函数改变事物的时候,它应该清楚它改
变了。你可以通过标记它们的名字区分它们,例如为“纯粹”的函数使用象square这样的
名词而对类似过程那样的函数使用象setAge这样命令式的名字。

9. 更多类型-数据结构

现在--你已经知道了不少:怎样输入输出,怎样设计复杂的运算法则(程序)来执
行数学运算,但是好戏还在后头呢。

截止目前我们都在程序中使用了哪些成份呢?数字和字符串,对不对?没意思的种
类……现在让我们引入两三个其它的成份来让事情变得更有意思些。

数据结构是种组织数据的成份。(惊奇,吃惊……)单个的数据没有什么真正的数据
结构,是不是?但是假设我们需要很多数放在一起做为一个成份--那就需要某种结构。
例如,我们可能想要一个数据列表。那很容易:

[3, 6, 78, 93]

在循环那段我提到了列表,但没真正描述它。好--这里说的就是你如何创建它。只
需要列出元素,用逗号分开,再加上方括号就行了。

来看一个计算素数(只能被1和它本身整除的数)的例子:

# Calculate all the primes below 1000
# (Not the best way to do it, but...)

result = [1]
candidates = range(3, 1000)
base = 2
product = base

while candidates:
    while product < 1000:
        if product in candidates:
            candidates.remove(product)
        product = product+base
    result.append(base)
    base = candidates[0]
    product = base
    del candidates[0]
    result.append(base)
    print result

这个例子中的新东西……

内建函数range事实上返回一个列表,可以象所有其它列表那样使用。(它包括第
一个数,但是不包括最后一个数。)

列表可以当作逻辑变量使用。如果它非空,则为true,否则为false。因此,while
candidates意思是“while名称为candidates的列表非空时”或者简单的说“while存
在candidates时”。

你可以用if someElement in somelist来检查一个元素是否在列表中。
论坛热门帖子: [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):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.