首页 > 代码库 > Python学习笔记2—Python语句(顺序、选择、循环)
Python学习笔记2—Python语句(顺序、选择、循环)
一、Python语句
python语句大体上分为:顺序执行语句,条件执行语句,循环执行语句。
语句逐个运行
Python 从头到尾执行文件中的嵌套块中的语句
块和语句的边界自动检测
Python 没有 或者\ begin/end" 等分割字符
Python 使用首行下的语句缩进把嵌套块内的语句组合起来,没有分号结束,一行的末尾通常是语句的结尾
复合语句,首行 +":"+ 缩进语句
Python 中复合语句都遵循相同的格式,首行会以冒号终止,再接一个或者多个嵌套语句,通常都是在首行下缩进,缩进叫做块 , 也可以称为组, if 语句中, elif 和else 分句都是 if 语句的一部分 , 也是本身嵌套块的首行
空行,空格以及注释通常都被忽略
文档字符串,会忽略,但是会保存并由工具显示
Python代码块
Python 自动以缩进为边界,也就是程序代码左侧的空白,缩进至右相同距离属于统一块代码
Python语句分隔符
如果使用语法括号时,语句就可以横跨多行
for i in range( 10): print i
如果语句是以反斜线结束,就可以横跨多行
print ‘Python is good‘
字符串常量有特殊的规则 ‘""‘ 或者 "‘‘"
print "he‘s a teacher"
二、If语句
if语句格式:
if 条件表达式:
代码块1
elif 条件表达式:
代码块2
elif 条件表达式:
代码块3
else
代码块4
if 语句有三部分组成:关键字本身,用于判断真假的条件表达式,以及当表达式为真或者非零时执行的代码块(关键字,条件表达式,代码块)
用于判断真假的条件表达式,可以是一个或者是多个,也可以成为多重表达式
一个复合语句(例如 if 子句, while 或 for 循环)的代码块仅仅包含一行代码,可以在同一行输入
elif 是 Python 的 else-if 语句, 它检查多个表达式是否为真, 并在为真时执行特定代码块中的代码.
和else一样,elif声明是可选的, 然而不同的是,if语句后最多只能有一个else语句,但可以有任意数量的elif语句.
a=87 if a>=90: print ‘A‘ elif a>=80: print ‘B‘ elif a>=70: print ‘C‘ elif a>=60: print ‘D‘ else: print ‘E‘
执行结果为
B
三、While循环语句
while语句格式:
while (条件表达式):
代码块
while事实它上是一个条件循环语句. 与 if声明相比, 如果 if 后的条件为真, 就会执行一次相应的代码块. 而 while 中的代码块会一直循环执行, 直到循环条件不再为真
使用 while 循环,因为有可能 条件表达式 永远不会为布尔假. 这样一来循环就永远不会结束
while 循环的 代码块 子句会一直循环执行, 直到 条件表达式 值为布尔假. 这种类型的循环机制常常用在计数循环中,这些"无限"的循环不一定是坏事, 许多通讯服务器的客户端/服务器系统就是通过它来工作的
sum=0 i=0 while (i<100): sum+=i i+=1 print sum
执行结果为
4950
四、For循环语句
for循环语句格式:
for 迭代变量 in range(start,end,step):
循环体
for 迭代变量 in xrange(start,end,step):
循环体
每次循环,迭代变量被设置为可迭代对象(序列,迭代器,或者是其他支持迭代的对象)的当前元素, 提供给循环体语句块使用
range()与xrange()区别:每当执行到range时,系统都会把range中的所有数都读取一遍,然后再进行其他操作;当程序执行到xrange时,系统会直接找出xrange中需要的值。因此,xrange的速度要比range快,应避免使用range
print range(1,10,2) print xrange(1,10,2)
执行结果为
[1, 3, 5, 7, 9] xrange(1, 11, 2)
for提供了 Python 中最强大的循环结构.它可以遍历序列成员, 可以用在 列表解析 和 生成器表达式中, 它会自动地调用迭代器的next()方法, 捕获StopIteration 异常并结束循环(所有这一切都是在内部发生的)
for 是python中最常用的循环方式之一
用for循环访问迭代器和访问序列的方法差不多.唯一的区别就是for语句会为你做一些额外的事情.迭代器并不代表循环条目的集合.
迭代器对象有一个next()方法,调用后返回下一个条目.所有条目迭代完后,迭代器引发一个 StopIteration异常告诉程序循环结束.for语句在内部调用 next() 并捕获异常.
sum=0 for i in range(100): sum+=i print sum
执行结果为
4950
四、break、continue、pass、else语句
1.break语句
Python中的break语句可以结束当前循环然后跳转到下条语句,类似C中的传统break.常用在当某个外部条件被触发(一般通过if语句检查),需要立即从循环中退出时.break语句可以用在while和for循环中break 语句用于打断列表的迭代.目的是为了找到列表中的目标元素,如果找到,则把它从数据库里删除然后退出循环
for i in xrange(1,100): if i%4==0: break print i
执行结果为
1 2 3
2.continue语句
Python里的continue语句和其他高级语言中的传统continue并没有什么不同.它可以被用在 while 和for循环里.while循环是条件性的,而for循环是迭代的, 所以 continue 在开始下一次循环前要满足一些先决条件, 否则循环会正常结束当遇到 continue语句时,程序会终止当前循环,并忽略剩余的语句,然后回到循环的顶端.
while条件循环语句中的continue(把自增变量写到continue语句前)
i=1 while (i<5): i+=1 if i==3: continue print i
执行结果为
2 4 5
while条件循环语句中的continue(把自增变量写到continue语句后)
i=1 while (i<5): if i==3: continue print i i+=1
执行结果为
1 2
由上可以看出,打印出1和2后,程序会陷入死循环,因此,在条件循环语句中使用continue时,应多加注意。
for条件循环语句中的continue
for i in xrange(1,5): if i==3: continue print i
执行结果为
1 2 4
3.pass语句
Python没有使用传统的大括号来标记代码块,有些地方在语法上要求要有代码,而Python中没有对应的空大括号或是分号(;)来表示C语言中的"不做任何事",如果你在需要子语句块的地方不写任何语句,解释器会提示语法错误.
Python提供了pass语句,它不做任何事情-即 NOP,(No OPeration,无操作)从汇编语言中借用这个概念
pass 同样也可作为开发中的小技巧, 标记你后来要完成的代码
for i in xrange(1,5): if i%4==0: pass print i
执行结果为
1 2 3 4
4.else语句
可以在while和for循环中使用else语句
while和for循环中使用 else 语句.它们是怎么工作的呢? 在循环中使用时,else子句只在循环完成后执行, 也就是说break语句也会跳过else块
for i in xrange(1,5): print i else: print ‘这是else语句‘
执行结果为
1 2 3 4 这是else语句
for i in xrange(1,5): if i%2==0: break print i else: print ‘这是else语句‘
执行结果为
1
本文出自 “Raffaele” 博客,请务必保留此出处http://raffaele.blog.51cto.com/6508076/1569009
Python学习笔记2—Python语句(顺序、选择、循环)