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
当初重复相通的语句可以使用村换语句。判断条件可以是任何表达式,任何非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 abreak输入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]
python pass是空语句,不做任何事情,一般用做占位语句。
for letter in 'Python':if letter == 'h': pass print '这是pass块' print '当前字母 :', letter
- python入门系列4―——语句
- python入门系列19―——GUI wxpython入门
- python入门系列20―——GUI Tkinter入门
- python 入门系列3:if 语句
- python入门系列1―——helloworld
- python入门系列2―——运算符
- python入门系列3―——数据类型
- python入门系列5―——时间日期
- python入门系列6―——函数
- python入门系列7―——模块
- python入门系列8―——I/O
- python入门系列9―——文件处理
- python入门系列11―——异常处理
- python入门系列12―——面向对象
- python入门系列10―——Excel操作
- python入门系列16―——格式化
- python入门系列16―——正则表达式1
- python入门系列14―——随机数
- CentOS7配置Supervisor开机启动
- Linux部署mysql cassandra web应用 服务
- 面试题5—从尾到头打印链表
- srs流媒体服务器 安装配置
- 什么是数据分析的关键指标?
- python入门系列4―——语句
- RocketMQ实战4
- 如何查看一个class文件,是jdk什么版本的编译器编译的?
- USB摄像头驱动配置及V4L2编程
- LCM UDP数据通信
- 分布式使用心得
- 应不应该收取房屋中介费用?房屋中介费用收取合理吗
- RocketMQ实战(三):分布式事务
- java获取对象属性类型、属性名称、属性值