一 Python彩蛋import this
Python有个彩蛋,比如在交互模式下输入import this,便会看到如下语句,这是Python的一些思想哲学以及Python的理念。
Beautiful is better than ugly.
1,美比丑好
Explicit is better than implicit.
2,显式(清晰、明确)比隐式(含蓄、暗示)好
Simple is better than complex.
3,简单比复杂好
Complex is better than complicated.
4,复杂比纠缠好
(complex为常用词,表示由一些互相联系、互相作用的部分组成,需要有相当的研究、知识和经验才能理解、操作或处理。
complicated为正式用词,表示由于组成部分太多、互相关系太复杂而不能马上理解,预期比comlex更重。)
Flat is better than nested.
5,平坦(扁平)比嵌套好
Sparse is better than dense.
6,稀疏比稠密好
Readability counts.
7,可读性很重要
Special cases aren't special enough to break the rules.
8,特例不应破坏原则
Although practicality beats purity.
9,虽然实用性胜过纯粹性
Errors should never pass silently.
10,错误不应被默默放过
Unless explicitly silenced.
11,除非明确要求默默放过错过
In the face of ambiguity, refuse the temptation to guess.
12,在含糊(不明确)面前,拒绝猜测(推测)
There should be one-- and preferably only one --obvious way to do it.
13,应该有一个明显(显而易见)的方案完成任务,而且最好只有一个明显的方案
Although that way may not be obvious at first unless you're Dutch.
14,虽然起初那个方案也许并不明显,除非你是Python之父
Although that way may not be obvious at first unless you're Dutch.
虽然起初那个方案也许并不明显,除非你是Python之父
(这里的荷兰人,应该是指Python之父Guido van Rossum。
我对这里出现的“Python之父”的理解是,一、编程功底足够好,二、对python足够熟悉。)
Now is better than never.
15,现在做比永远不做好
Although never is often better than *right* now.
16,虽然永远不做通常好过马上就做
Although never is often better than *right* now.
虽然永远不做通常好过马上就做
(参考别人的翻译,这里的“马上就做”是指做之前少思索、少规划)
If the implementation is hard to explain, it's a bad idea.
17,如果很难解释一个实现,这个实现不是个好方案
If the implementation is easy to explain, it may be a good idea.
18,如果容易解释一个实现,这个实现也许是个好方案
Namespaces are one honking great idea -- let's do more of those!
19,命名空间是非常好的理念,我们应多多使用
看完以后虽说是python之禅(“禅”这字代表的是东方哲学用在这里 太恰当了,一字解所有,汉字的魅力,非常感谢这本书的译者。)其实它可以给我们在思考和做任何事情起到起到指导性。
二 列表是什么
列表是一系列按 特定 顺序排列的元素组成,可以将 任何 东西加入 列表,其中的元素 可以没任何关系。
在Python中,用方括号( [ ] ) 来表示列表,并用逗号来分割其中的元素。比如下面这个例子中包含几种自行车
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
二 . 1.1 访问列表元素
列表是有序集合,因此要访问列表的任何元素,只需要讲该元素的位置或索引告诉Python即可,要访问列表元素,可指出列表民称,在指出元素索引,并将其放在方括号内。
例如 下面的代码从列表 biccycles 中提取第一辆自行车
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)
print(bicycles[0].upper()) (1)
(1)处演示了列表元素的语法。当你请求获取列表元素时,python只返回该元素,而不包括方括号和引号,还可以对任何列表元素调用第二章介绍的字符串方法。例如,可以使用方法 upper() 让元素‘trek'的格式更简洁。( 我们在第二章学了三种修改字符串大小写的方法,分别是:title() ,upper(),lower() )。
print(bicycles[0].title())
print(bicycles[0].upper())
print(bicycles[0].lower())
结果显示会是
Trek
TREK
trek
二.1.2 索引从0而不是从一开始
在python中第一个列表元素的索引为0,而不是1。在大多数编程中都是如此,这与列表操作的底层实现相关。如果结果出乎意料,请看是否犯了简单的差一错误。
第二个列表元素的索引为1 ,要访问列表中的任何元素,都可以将其位置减1,并将结果作为索引。
python中还为访问最后一个列表元素提供了一种特殊语法。通过将索引指定为 -1 ,可以让python返回最后一个列表元素。这种语法是为了在不知道 列表长度 的情况下访问最后的元素。这种约定也适用于其它负数索引, 索引-2返回 倒数 第二个列表元素,索引-3返回 倒数 第三个列表元素,以此类推。
二.1,3 使用列表中的各个值
message = "My first bicycle was a " + bicycles[0].title() + "."
print message
从上面的例子可以看出我们使用bicycles[0]的值生成了一个句子 并列表中提取了第一款自行车。输出是一个简单的句子,其中包含列表中的第一款自行车:
My first bicycle was a Trek.
1.4 for i in range(len(bicycles)):
print(bicycles[i]," => ",i)
其中 for i in range:
range方法返回一个数组,range(stop),range(start, stop[, step])两种形式均可,比如你想打印1-99,可以
for i in range(1, 100):
print i
当然可以用这个遍历一个list
for i in range(len(list_1)):
print list_1 [ i ]
for循环语句是Python中的一个循环控制语句,任何有序的序列对象内的元素都可以遍历,比如字符串、列表、元组等可迭代对象。
Python中for循环的一般格式:第一行是要先定义一个赋值目标(迭代变量),和要遍历(迭代)的对像;首行后面是要执行的语句块。
for目标in对像:
print赋值目标
Python2.x中range()函数会返回一个列表,返回的对象便可以用for循环进行遍历。下面的例子中,for循环对range()返回的列表进行遍历并打印。
for i in range(1,5):
print i,
# 1 2 3 4
Python 中 for i in range() 中 i 的意义
i表示遍历了一个循环中的所有元素
i只是习惯性写法,你写成a/b/c/d任何名称都可以
但在没有具体对象的时候,一般统一用i
关于python 的range()函数的用法请参考下列网址和第四章。
http://www.cnblogs.com/buro79xxd/archive/2011/05/23/2054493.html
一下跳到第四章这次作业跨度太大