python入门系列4―——语句

来源:互联网 发布:淘宝天猫京东入驻条件 编辑:程序博客网 时间:2024/06/01 19:44

个人博客网址


1.条件语句

条件语句是通过一条或者多条判断才决定执行的代码,python指定任何非0和非空(null)为True,0或者null为False。

判断语句可以使用 >,<,==,!=,>=,<=,<>等等

if 判断条件:    执行语句1……else:    执行语句2……
判断条件为True时,执行语句1,否则执行语句2。
实例:

a=10b=20if a>b:    print "a大于b"else:    print "a小于b"
结果:

a小于b

当判断条件为多种时候,可以使用:

if 判断条件1:    执行语句1……elif 判断条件2:    执行语句2……elif 判断条件3:    执行语句3……else:    执行语句4……
例如:

a="python"b="python1"c="python2"d="python3"if a==b:    print "a、b一样"elif a==c:    print "a、c一样"elif a==d:    print "a、d一样"else:    print "a和bcd都不一样"
结果:

a和bcd都不一样

如果判断条件需要多个条件同事满足,可以使用or(或),and(并且)

例如:

a=5if a>=0 and a<=10:    print "a在0-10之间"else:    print "a不在0-10之间"if a>10 or a<0:    print "a不在0-10之间"else:    print "a在0-10之间"
结果:

a在0-10之间a在0-10之间
这里需要说明下,python对and和or采用的是短路规则,也就是and需要都满足,那么条件会全部执行。or是或,所以第一个条件成立,其实整个判断就是成立,那么python就不行执行a<0这句,如果第一条件是False才会执行之后的条件判断。


PS:如果我们执行语句有多句,需要格式化对齐

a=5if a>=0 and a<=10:    print "a在0-10之间"print "a在0-10之间"   #如果这句顶着开头写是不行的,需要TABLE对齐else:    print "a不在0-10之间"


if测试

>>> data

{'a':1,'c':3,'b':2 }

>>>data['e']=99

>>>data

{'a':1,'c':3,'b':2,'e':99 }

>>>data['f']     #<----- Error


>>> 'f' in data

False

>>> if not 'f' in data:

print('Missing')

Missing


>>> value = data.get(‘X’,0)

>>>value

0

>>> value = data['X'] if 'X' in D else 0

>>> valur

0


2.循环语句

当初重复相通的语句可以使用村换语句。判断条件可以是任何表达式,任何非0,非空为True。

while循环,形式:

while 判断条件:    执行语句……

判断条件为True时,执行语句

我们想输出1到10,例如:

a=0while a<10:    a+=1    print a 
结果:

12345678910

循环语句还有2个重要命令,continue和break。

continue跳过本次循环

break退出循环

我们使用continue来输出1-10之前的偶数:

a=0while a<10:    a+=1    if a%2==1:        continue #如果是奇数 跳过此次循环    print a
break输入1-10:

a=0while 1: #判断条件为1表示恒成立,会一直循环,所以使用break可以跳出循环    a+=1    print a    if a>=10:        break
循环中使用else语句,表示条件不满足的时候执行,例如:
a=0while a<10:    a+=1    print aelse:    print "Finish"

for循环语句
for循环语句主要用于遍历序列,比如一个列表list或者一个字符串等。
语法格式:
for 变量 in 序列:
   执行语句...
具体例子如下:

mylist=["python","pyn","on","thon"]for x in mylist:    print x
结果:

pythonpynonthon

在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

or num in range(10,20):  # 想像成10-20的list   for i in range(2,num): # 循环嵌套语句      if num%i == 0:      # 确定第一个因子         j=num/i          # 计算第二个因子         print '%d 等于 %d * %d' % (num,i,j)         break            # 跳出当前循环   else:                  # 循环的 else 部分      print num, '是一个质数'
range()返回一个序列的数

结果:

10 等于 2 * 511 是一个质数12 等于 2 * 613 是一个质数14 等于 2 * 715 等于 3 * 516 等于 2 * 817 是一个质数18 等于 2 * 919 是一个质数


[× for循环看起来与之前的列表解析表达式一样,他们都是通用迭代工具,都遵守迭代协议(python中的一个概念,表示在内存中物理存储的序列,或一个迭代操作情况下爱每次产生一个元素的概念,表示在内存中物理存储的序列,或一个在迭代操作情况下每次产生一个元素的对象)后面会继续补充

从左到右的扫描一个对象的每个python工具都使用迭代协议

]

计算一列数字的平方

>>> data = [x ** 2 for x in [1,2,3,4,5]]

>>>data

[1,4,9,16,25]




pass 语句
python pass是空语句,不做任何事情,一般用做占位语句。


for letter in 'Python':
   if letter == 'h':      pass      print '这是pass块'   print '当前字母 :', letter
 
原创粉丝点击