伦教网站开发,做淘宝联盟网站要多少钱,镇江市住房与城乡建设部网站,建设农家书屋官方网站目录
7.1.1 理解条件控制
7.1.2 if,elif,else
7.1.3 条件表达式
7.1.4 条件控制可以嵌套
7.1.5 if语句的三元运算
7.1.6 系统学习python 7.1.1 理解条件控制
在日常生活中#xff0c;我们常喜欢说如果, 如果怎么样#xff0c;那么就会怎么样。如果我们常喜欢说如果, 如果怎么样那么就会怎么样。如果表达的是一种假设情况即在假设成立的情况下会执行某种操作在假设不成立的情况下同样会执行某种操作。
例如在以下的“如果”句式中 如果明天天气晴朗那么我会去爬莲花山。否则我会去楼下的咖啡店喝一杯咖啡。 在以上句式中提出的假设为: 明天天气晴朗 假设成立时所执行的操作: 爬莲花山 假设不成立时所执行的操作: 喝咖啡 这种以“如果”句式表达的一种逻辑结构就是一种条件控制。条件控制的核心是先提出一个假设条件如果条件成立就执行什么样的操作如果条件不成立就继续判断其它的条件。在编程语言中也是通过“如果”来进行条件控制其对应的关键词是“if”,if的中文释义正是“如果”。
7.1.2 if,elif,else
在Python中通过if, elifelse来进行条件控制。 同学们可以在交互模式中查找ifelif,else关键字的定义及用法。以if进行举例:help(if)。 条件控制的语法结构: Python
if expression:pass
elif expression:pass
else:pass
if有如果的意思expression为条件控制结构中的条件表达式通常可以输出值的都可以作为条件表达式。如果条件表达式的值为真值那么就执行相应的操作。elif用来表示分支条件即在if语句中的条件不成立的情况下继续判断elif语句中的条件是否成立。else表示if语句和elif语句中的条件都不成立的情况下才执行的操作。 语法结构中的冒号表示一个条件语句块的开始。在条件控制的语法结构中elif与else不是必须的可以有多个elif但最多只有1个else。 非法的条件控制结构: Python
if expression:pass
elif expression:pass
else:pass
else:pass
在以上非法的条件控制结构中存在多个else语句。elif语句必须在if语句的后面else语句必须是控制结构中的最后一个语句。
非法的条件控制结构:
Python
elif expression:pass
if expression:pass
else:pass
elif:pass
在以上非法的条件控制结构中elif语句必须紧跟在if语句后面,else必须是控制结构中的最后一个语句。存在多个if语句时Python会将每一个if语句视为一个单独的条件控制结构
Python
if expression:# 这是一个单独的条件控制结构pass
if expression:# 这是一个单独的条件控制结构pass
elif expression:pass
else:pass
7.1.3 条件表达式
承上通常可以输出值的都可以作为条件表达式如果条件表达式的值为真值那么就执行相应的操作。
代码实例(1) Python
is_happy 0
if is_happy:# 在if语句中判断表达式值的真假值为真就执行冒号下面的代码 print(i am so happy)
else:# 在if和elif语句的条件都不成立的情况下才执行else语句中的代码print(i am so unhappy)
在以上代码实例中定义了一个is_happy变量其指向的值为0, 0值转换后的逻辑值为假。所以不会执行if语句中的代码转而执行else语句下面的代码输出为:
i am so unhappy
代码实例(2) Python
x 1
y -1
if xy 0:# 在if语句中判断表达式值的真假# 值为真就执行冒号下面的代码 print(xy 0)
elif xy 0:# if语句中的条件不成立的情况下# 会继续判断elif语句中的条件是否成立print(xy 0)
else: # 在if和elif语句的条件都不成立的情况下# 才执行else语句中的代码print(xy 0)
在以上代码实例中定义了一个x变量其指向的值为1,定义了一个y变量其指向的值为-1。xy的值为0所以表达式xy 0等价于0 0, 显然表达式的值为假所以会继续判断elif语句中的条件是否成立。elif中的条件表达式为“xy 0”,表达式的值为真故会执行elif语句中的代码:
Python
print(xy0)
最终程序的输出为:
xy 0
代码实例(3) Python
x -1
y -1
if xy 0 and x*y 0:# 在if语句中判断表达式值的真假# 值为真就执行冒号下面的代码 print(x与y都为正数)elif xy 0: # 在上面的elif不成立的条件下# 继续判断elif语句中的条件是否成立print(x与y其中一个为正数)
elif x*y 0:# if语句中的条件不成立的情况下# 继续判断elif语句中的条件是否成立print(x与y都为负数)
elif x * y 0:print(x与y其中一个为负数)
else:print(x与y至少一个为0)
在以上代码实例中定义了一个x变量其指向的值为-1,定义了一个y变量其指向的值为-1。x*y的值为1所以表达式x*y 0的值为真。xy的值为-2所以表达式xy 0的值为假。if语句中的条件表达式为“xy 0 and x*y 0”等价于“真 and 假”在逻辑与运算中只要其中一个逻辑值为假那么输出就为假。故会继续判断下一个条件分支:
elif xy 0
表达式xy 0的值为假Python会继续判断下一个条件分支:“elif x*y 0”。表达式x*y 0的值为真故会执行冒号下方的代码:
print(x与y都为负数)
最终程序的输出为:
x与y都为负数
同学们在分析上文代码的执行过程时需要理清代码中的判断逻辑为什么x与y都为负数
7.1.4 条件控制可以嵌套
嵌套是指可以在条件语句下面再嵌套条件语句读者须注意if语句嵌套时的代码缩进。
代码实例 Python
is_happy 1
x -1
y -1
if is_happy:# 注意代码缩进print(im so happy to learn Python!)if xy 0:# 注意代码缩进print(x与y至少有一个为正数)elif x*y 0:# 注意代码缩进print(x与y都为负数)elif x*y 0:# 注意代码缩进print(x与y中有一个负数)else:# 注意代码缩进print(x与y至少有一个为0)
else:# 注意代码缩进 print(im so unhappy)
程序输出为
im so happy to learn Python!
x与y都为负数
if嵌套的深度不宜过深通常保持在三层以内即可。嵌套层数过多会导致代码的可读性变差难以维护。
7.1.5 if语句的三元运算
三元运算符是软件编程中的一种固定格式在Python中通过if语句来实现三元运算符。
三元运算符的语法格式
expression1 if condition_expression else expression2
三元运算符的执行逻辑为: 如果if语句中的条件表达式condition_expression的值为真就返回表达式expression1的值否则返回表达式expression2的值。
使用三元运算符在特定场景下可以简化if语句的使用。
未使用三元运算符的代码实例
Python
is_happy 0
if is_happy:feeling so happy
else:feeling so unhappy
使用三目运算符的代码实例 Python
is_happy 0
# 用英文引号括住的都为字符串类型
feeling so happy if is_happy else so unhappy
这两则代码实例实现的是同样的效果但使用三目运算符的代码看起来更简洁。在条件分支比较多的情况下不适合使用三目运算符读者需根据实际情况来进行合理使用。
7.1.6 系统学习python 薯条老师简介资深技术专家技术作家著有《Python零基础入门指南》,《Java零基础入门指南》等技术教程。薯条老师的博客http://www.chipscoco.com, 系统学习后端爬虫数据分析机器学习