1.条件语句条件语句是通过一条或者多条判断才决定执行的代码,python指定任何非0和非空(null)为True,0或者null为False。
判断语句可以使用 >,=,<=,<>等等
Python
1
2
3
4
if判断条件:
执行语句1……
else:
执行语句2……
判断条件为True时,执行语句1,否则执行语句2。
实例:
Python
1
2
3
4
5
6
a=10
b=20
ifa>b:
print"a大于b"
else:
print"a小于b"
结果:
Python
1
a小于b
当判断条件为多种时候,可以使用:
Python
1
2
3
4
5
6
7
8
if判断条件1:
执行语句1……
elif判断条件2:
执行语句2……
elif判断条件3:
执行语句3……
else:
执行语句4……
例如:
Python
1
2
3
4
5
6
7
8
9
10
11
12
a="python"
b="python1"
c="python2"
d="python3"
ifa==b:
print"a、b一样"
elifa==c:
print"a、c一样"
elifa==d:
print"a、d一样"
else:
print"a和bcd都不一样"
结果:
Python
1
a和bcd都不一样
如果判断条件需要多个条件同事满足,可以使用or(或),and(并且)
例如:
Python
1
2
3
4
5
6
7
8
9
10
a=5
ifa>=0anda<=10:
print"a在0-10之间"
else:
print"a不在0-10之间"
ifa>10ora<0:
print"a不在0-10之间"
else:
print"a在0-10之间"
结果:
Python
1
2
a在0-10之间
a在0-10之间
这里需要说明下,python对and和or采用的是短路规则,也就是and需要都满足,那么条件会全部执行。or是或,所以第一个条件成立,其实整个判断就是成立,那么python就不行执行a<0这句,如果第一条件是False才会执行之后的条件判断。
PS:如果我们执行语句有多句,需要格式化对齐
1
2
3
4
5
6
a=5
ifa>=0anda<=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’] #
>>> ‘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循环,形式:
Python
1
2
while判断条件:
执行语句……
判断条件为True时,执行语句
我们想输出1到10,例如:
Python
1
2
3
4
a=0
whilea<10:
a+=1
printa
结果:
Python
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
循环语句还有2个重要命令,continue和break。
continue跳过本次循环
break退出循环
我们使用continue来输出1-10之前的偶数:
Python
1
2
3
4
5
6
a=0
whilea<10:
a+=1
ifa%2==1:
continue#如果是奇数 跳过此次循环
printa
break输入1-10:
Python
1
2
3
4
5
6
a=0
while1:#判断条件为1表示恒成立,会一直循环,所以使用break可以跳出循环
a+=1
printa
ifa>=10:
break
循环中使用else语句,表示条件不满足的时候执行,例如:
Python
1
2
3
4
5
6
a=0
whilea<10:
a+=1
printa
else:
print"Finish"
for循环语句
for循环语句主要用于遍历序列,比如一个列表list或者一个字符串等。
语法格式:
for 变量 in 序列:
执行语句…
具体例子如下:
Python
1
2
3
mylist=["python","pyn","on","thon"]
forxinmylist:
printx
结果:
Python
1
2
3
4
python
pyn
on
thon
在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。
Python
1
2
3
4
5
6
7
8
ornuminrange(10,20):# 想像成10-20的list
foriinrange(2,num):# 循环嵌套语句
ifnum%i==0:# 确定第一个因子
j=num/i# 计算第二个因子
print'%d 等于 %d * %d'%(num,i,j)
break# 跳出当前循环
else:# 循环的 else 部分
printnum,'是一个质数'
range()返回一个序列的数
结果:
Python
1
2
3
4
5
6
7
8
9
10
10等于2*5
11是一个质数
12等于2*6
13是一个质数
14等于2*7
15等于3*5
16等于2*8
17是一个质数
18等于2*9
19是一个质数
[× for循环看起来与之前的列表解析表达式一样,他们都是通用迭代工具,都遵守迭代协议(python中的一个概念,表示在内存中物理存储的序列,或一个迭代操作情况下爱每次产生一个元素的概念,表示在内存中物理存储的序列,或一个在迭代操作情况下每次产生一个元素的对象)后面会继续补充
从左到右的扫描一个对象的每个python工具都使用迭代协议
]
计算一列数字的平方
>>> data = [x ** 2 for x in [1,2,3,4,5]]
>>>data
[1,4,9,16,25]
pass 语句
python pass是空语句,不做任何事情,一般用做占位语句。
Python
1
2
3
4
5
forletterin'Python'
ifletter=='h':
pass
print'这是pass块'
print'当前字母 :',letter