Python:程序控制结构

1.条件表达式

  • 所有的Python合法表达式都可以作为条件表达式,包括含有函数调用的表达式

a.关系运算符

  • 可以连续使用,符合人类的思维方式。如:a>b<c,等价于a>b and b<c
  • 关系运算符具体惰性计算的特点(即短路特性)

    如:>>>1>2<XXX           #当前上下文中并不存在变量XXX

    输出结果:False             #计算1>2不符合条件就开始结束了,不再继续后面的判断,这就是短路特性

b.逻辑运算符

  • and,or,not  分别是:与,或,非
  • and,or具有短路求值或者惰性求值的特点
  • 优先级:not>and>or
  • and:语法结构:x and y,返回的结构是决定表达式结果的值

      如果x为True时,则y决定结果,如:1 and 5   输出结果为5

      如果x为False时,则x决定结果,如:0 and 5   输出结果为0

  • or:语法结构:x or y,有一个为真,结果就为真,符合短路特性
  • not:返回表达式结果的相反的值,返回的是bool型

2.选择结构

a.单分支选择结构

  • 语法格式:

                            if  表达式:

                                    语句块

  • 冒号不可以省略,语句块必须缩减,这样才能表示逻辑上的隶属关系
  • 表达式为T时,才执行语句块

b.双分支选择结构

  • 语法格式:

                            if  表达式:

                                    语句块1

                            else:

                                    语句块2

  • 表达式成立则执行语句块1,否则执行语句块2
  • 三元运算符也能达到形同的效果,语法格式:value1 if condition else value2
  • 当condition的值与T等价,表达式的值为value1,否则表示的值为value2
  • value1和value2可以是复杂的表达式、函数调用、三元运算符等。
  • 该三元运算符也具有惰性计算的特点
  • 为了提高代码的可读性,建议使用if-else这样的双分支结构

c.多分支选择结构

  • 语法格式:

                            if  表达式1:

                                    语句块1

                            elif 表达式2:

                                    语句块2

                            elif 表达式3:

                                    语句块3

                             ......

                            else:

                                    语句块n

  • 关键字elif是else if的缩写

d.选择结构的嵌套

  • 以上的选择结构可以通过嵌套实现复杂的业务逻辑
  • 嵌套一定要注意缩进量!因为Python不像C和Java一样有花括号将语句块放在一起,其全靠缩进来实现代码块之间的从属关系和业务逻辑!

e.构建跳转表实现多分支选择结构

  • 使用列表、元组、字典可以构建跳转表,可更快的实现一些场景的要求
  • 如:构建跳转表,根据用户的不同输入内容来实现不同的业务功能。

3.循环结构

a.for循环和while循环

  • 多个循环可以嵌套使用,要注意缩进
  • while语法格式

                   while  条件表达式:

                           循环体

                   [else:

                           else子句代码块]

  • for语法格式

                   for 取值 in 序列或迭代对象:

                           循环体

                   [else:

                           else子句代码块]

  • 对于带有else子句的循环结构,如果循环结构因为条件表达式不成立或者遍历序列自然结束时,则执行else结构中的语句
  • 如果循环是因为执行了break语句导致循环提前结束,则不会执行else中的内容
  • else方括号中的内容可以有,可以没有

b.break和continue

  • break结束当前所在的那层循环
  • continue进行下一次循环
  • 两者的用法和c、java中的规则一致
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值