(a == 1) and (b != 2) 来测试这两个判断是否同时成立:a 等于 1 并且 b 不等于 2。 (a == 1) or (b != 2) 来测试这两个判断里是否有至少一个成立:a 等于 1 或者 b 不等于 2。 not a == 1 来测试这个判断是否是错的。错的就是对的,对的就是错的,颠倒黑白:不是 a 等于 1,那就是 a 不等于 1 了,好像有点脱裤子放屁。其实在别的更复杂的判断组合里更有用些。
我们还有 break(中断) 来打断循环,和 continue(继续) 来立刻回到循环开始,也可以用 if(如果) 命令来进行判断:
a = 0 while True: a = a + 1 if a >= 100: break print a这里 True(正确) 表示永远正确,相对的是 False(错误) 表示永远错误。这一段是说一直执行,因为 while 的条件总是正确,就是说“当符合总是正确的条件的时候,不断重复”,当然是永远正确,永远重复了。下面在 if 处判断如果a大于等于100,如果是,那么执行 if 下的段落,这里我们打断了循环。如果条件不符,就跳过 if 下面的小段落,该干嘛干嘛,具体到这里就是打印 a 然后继续执行循环。
for 循环是利用下面介绍的的列表数据结构对列表进行循环。
Python 数据概念#下面具体说到Python特异功能,它有几个特殊的存储数据的格式。
列表 (list)#列表:把很多变量存进一个列表里,叫列的意思,就因为他像列车一样,一节一节车厢,每厢放一个变量。格式为 b, c, 1, 3, 5, ‘葡萄’, ‘葡萄皮儿’,可以看到,方括号里,可以放具体的数字,文字,也可以放变量,用逗号分隔。
这些内容是在固定位置上,可以通过他们的位置,来提取:
alist = [1, 3, 5, '很傻', '葡萄', '葡萄皮儿', a, var1] print (alist[0]) # 打印 1 print (alist[3]) # 打印 "很傻"在 Python里,次序是从0开始数的,开始是0,然后是1,2,3,4,5,所以上面的列表 alist的第一个内容,可以用alist[0]来提取,第二个用alist[1]来提取。就像年龄一样,一生下来是零岁,一年以后才是一岁,不是中国传统那样,生下来就一岁,那是虚岁。蟒蛇语言它只认准确的东西,不玩儿虚的。
print (alist[4]) # 打印 '葡萄'
这里,我们可以介绍用 for 循环来访问这个列表里的所有内容:
for me in alist: print (me)上面这一段,打印所有alist里的内容。
这个循环是,对于列表 alist ,从 0 位置开始,访问它的每一个位置,把这个位置上的值, 放到 me 里,然后针对不同的 me 值,重复执行下面段落的内容。
in 表示 me 在 alist 里,也可以用来判断:
if "葡萄" in alist: print "葡萄在alist里!"列表的内容是可以改变的,我们可以把第4个位置设为”很天真”:
alist[3] = alist[3] + ' 很天真' print (alist[3]) # 打印 '很傻 很天真'下面说道的元组的内容就不能改变了。
元组 (tuple)#元组:元组就是列表,但是他的内容是不能改变的,用圆括号()来表示。 他的内容只能一开始就设定。但是,元组和列表之间是可以用函数互相转变的,转成列表就可以改变内容,转回元组就不能改了。
元组是用圆括号来表示,所以叫元组嘛。
atuple = (2, 3, "老子") alist = list(atuple) # 变成 [2, 3, "老子"] alist[0] = 0 tuple2 = tuple(alist) # 变回 (0, 3, "老子")在 Python 里,字符串也是一种特殊的元组,也就是内容不可变的字符列表。
txt = 'abcdefg' print(txt[1]) # 打印 b 字典 (dict)#字典:字典就像一般的字典,一个字,一个解释,再一个字,再一个解释。用大括号表示:
adict = {1: "我是解释", 2: "我是解释2", "我是3": 3, "我是4": 4 }前面的字叫钥匙(key)或者索引,后面的解释,叫”值”。索引不能重复,必须是唯一的。
我们可以看到,前面的字,和后面的解释可以是数字,文字,还可以是函数或者元组。但是前面的字,不能是列表,因为列表内容是可变的,可变的东西都不能做索引。
我们用索引来提取,设定或者增加值,而不是用位置:
adict[1] # "我是解释" adict["我是3"] # 3 adict[1] = 2 # 设定新的值 adict["新索引"] = "没头脑和不高兴" # 增加一个新索引和值 集合 (set)#集合: 集合就是数学上用的集合,把一堆东西放到一起,类似列表,不同的地方是内容不重复,而且也没有次序。
aset = set([1, 2, 3, 2, 4, 6]) # 去掉重复内容,所以是 1,2,3,4,6可以看出,建立一个集合的方式,是使用set()函数,函数的参数可以是列表,或者元祖,反正是一串儿的都可以。
集合的用处是利用他内容不可重复的特性,来去掉重复的内容。至于其他的合集,交集也是这个特性的延伸。
集合也是可以变成列表的,利用 list() 函数。
alist = list(aset) # 内容 [1,2,3,4,6] 模块 (module)#Python 里包涵了很多别人写好的函数、方法让我们直接利用。譬如写网络程序的函数,数 学计算的函数,分析电邮文件的函数,加密的函数。我们要做的就是套公式!
这些函数分门别类的放到叫“模块”的东西里。一个模块里,包括很多功能相类的函数。而具体实现上,一个模块,就是一个Python的程序文件。
如果模块还需要细分更多层,那么每层就是一个文件目录。里面有很多做为模块的Python文件。
要使用模块,我们用“进口”这个命令: import
import time now = time.clock() print (now)这里,我们先进口 time 模块,然后使用 time 模块里的函数 clock() ,得到当前时间,打印出来。
用个英文句点表示模块 time里的clock函数: 模块名.函数名
在 Python 里,我们会用到很多别人写的模块,能自己少写点儿源码,尽量少写,懒不是?
类 (class)#其实编程来说,类并不是必须的,但是因为很多Python提供的模块,里面的函数都是包在类里面的,所以我们需要介绍一下类。
面向对象编程,是现在比较流行的编程方式,是个人都得用“面像对象”的思路来编程,来显得自己跟得上形式。其实面对对象并不是必须的,光棍并不可耻。