Python入门篇之条件、循环

论坛 期权论坛 脚本     
niminba   2021-5-23 02:57   857   0

1.if语句

Python 中的if子句看起来十分熟悉. 它由三部分组成: 关键字本身, 用于判断结果真假的条件表达式, 以及当表达式为真或者非零时执行的代码块.
if 语句的语法如下:
if expression:
  expr_true_suite
if 语句的 expr_true_suite代码块只有在条件表达式的结果的布尔值为真时才执行, 否则将继续执行紧跟在该代码块后面的语句.

(1)多重条件表达式

单个if语句可以通过使用布尔操作符and,or和not实现多重判断条件或是否定判断条件.

复制代码 代码如下:

if not warn and (system_load >= 10):
print "WARNING: losing resources"
warn += 1

(2)单一语句的代码块

如果一个复合语句(例如 if 子句, while 或 for 循环)的代码块仅仅包含一行代码, 那么它可以和前面的语句写在同一行上:
if make_hard_copy: send_data_to_printer()

尽管它可能方便, 但这样会使得代码更难阅读, 所以我们推荐将这行代码移到下一行并合理地缩进.

2.else语句

Python提供了与if语句搭配使用的else语句.如果if语句的条件表达式的结果布尔值为假,那么程序将执行else语句后的代码.它的语法你甚至可以猜到:

复制代码 代码如下:

if expression:
  expr_true_suite
else:
  expr_false_suite

if passwd == user.passwd:
    ret_str = "password accepted"
    id = user.id valid = True
else:
    ret_str = "invalid password entered... try again!"
    valid = False

3.elif(即else-if)语句

elif是Python的else-if语句,它检查多个表达式是否为真, 并在为真时执行特定代码块中的代码. 和else一样, elif声明是可选的, 然而不同的是: if语句后最多只能有一个else语句, 但可以有任意数量的elif语句.

复制代码 代码如下:

if expression1:
  expr1_true_suite
elif expression2:
  expr2_true_suite
elif expressionN:
  exprN_true_suite
else:
  none_of_the_above_suite

4.条件表达式(即"三元操作符")

Python 2.5 集成的语法确定为: X if C else Y .

复制代码 代码如下:

>>> x, y = 4, 3
>>> smaller = x if x < y else y
>>> smaller
3

5.while语句

Python的while是本章我们遇到的第一个循环语句. 事实它上是一个条件循环语句.与if声明相比,如果if后的条件为真, 就会执行一次相应的代码块. 而while中的代码块会一直循环执行, 直到循环条件不再为真.
while 循环的语法如下:

复制代码 代码如下:

while expression:
  suite_to_repeat

>>> x=1
>>> while x <=100:
    print x
    x+=10

6.for语句

Python提供给我们的另一个循环机制就是for语句. 它提供了Python中最强大的循环结构.它可以遍历序列成员, 可以用在列表解析和生成器表达式中,它会自动地调用迭代器的next()方法,捕获StopIteration异常并结束循环(所有这一切都是在内部发生的).和传统语言中的for语句不同, Python的for更像是 shell 或是脚本语言中的foreach循环.

for循环会访问一个可迭代对象(例如序列或是迭代器)中的所有元素, 并在所有条目都处理过后结束循环.它的语法如下:

复制代码 代码如下:

for iter_var in iterable:
  suite_to_repeat

1.用于序列类型

复制代码 代码如下:

>>> for c in 'names':
    print 'current letter: ', c

current letter:  n
current letter:  a
current letter:  m
current letter:  e
current letter:  s

迭代序列有三种基本方法:

1.通过序列项迭代:

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1060120
帖子:212021
精华:0
期权论坛 期权论坛