python语句和语法(二)——if测试语句、while和for循环

if测试及其语法规则

1) if测试介绍

if语句是一个复合语句,可以包含其他语句,包含其他if在内。实际上,python可以按照顺序组合语句使其逐一执行,而且可以任意地扩展嵌套。

if语句地一般形式:

if <test1>:
    <statements1>
elif <test2>:
    <statements>
else:
    <statements>

python会执行第一次测试为真的语句下面的嵌套语句,或者如果所有测试都为假时,就执行else部分。elif和else部分都可以省略,而且每一段可以嵌套一个以上的语句。注意if、elif以及else结合在一起的原因是他们垂直对齐,具有相同的缩进。

python中没有可以根据变量值选择动作的switch或case语句。在python中,多路分支是写成一系列的if/elif测试,或者对字典进行索引运算或搜索列表。

>>> choice = 'ham'
>>> print({'spam':1.25, 'ham':1.99, 'eggs':0.99, 'bacon':1.10}[choice])
1.99

当没有键匹配时,if是按else分句处理,此时的字典的索引运算如何处理呢?字典默认值能编码到has_key测试、get方法调用或异常捕捉中。

>>> branch  ={'spam':1.25, 'ham':1.99, 'eggs':0.99}
>>> print(branch.get('spam', 'Bad choice'))
1.25
>>> print(branch.get('bacon', 'Bad choice'))
Bad choice

2)python语法规则

特性:

(1)语句是逐个运行的,除非你不这样编写。比如遇到if或者循环会使解释器在程序中跳跃。

(2)  块和语句的边界会自动检测。 python使用首行下的语句缩进把嵌套块内的语句组合起来;一行的末尾通常就是该行所写语句的结尾。

(3)复合语句 = 首行 + “:” + 缩进语句。

(4) 空白行、空格以及注释通常都会被忽略。文件中空白行将忽略(但在交互模式提示符下不会)

(5) 文档字符串(docstring)会忽略,但会保存并由工具显示。

3)代码块分隔符

python会自动以行缩进检测块的边界,也就是程序代码左侧的空白空间。缩进至右侧相同的距离的所有语句属于同一块的代码。python不在乎你怎么缩进代码,只在乎缩进是否一致。每个缩进层级使用4个空格或者一个制表符。

所以缩进其实是python语法的一部分,而不仅仅是编程风格:任何特定单一块中所有语句都必须缩进到相同的层次,否则python会报告语法错误。同时要避免混合使用制表符和空格。

4)语句的分隔符

(1) 如果使用语法括号对,语句就可横跨数行。如果在封闭的()、{}或[]这类配对中编写代码,python就可让你在下一行继续输入语句。

(2) 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

vinkuan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值