试图了解缩进在Python中的工作原理。
var = 100
if ( var == 100 ) :
print ("Value of expression is 100")
print ("Good bye!")
print("AM I out?")
输出:
Value of expression is 100
Good bye!
AM I out?
考虑到if条件给出的缩进,不是只应该打印以下输出吗?
Value of expression is 100
Good bye!
为什么即使最后一条语句没有缩进,也要打印最后一条语句?
答案 0 :(得分:3)
Python逐行执行程序,
var = 100 # First assign var = 100
if ( var == 100 ) : # Executed your if condition
print ("Value of expression is 100")
print ("Good bye!")
print("AM I out?") # Executed your last line
如果您不想在使用if时执行最后一行,
将print("AM I out?")
保留在else块中。
if ( var == 100 ) :
print ("Value of expression is 100")
print ("Good bye!")
else:
print("AM I out?")
关于身份:
用来了解您的程序,特定的块语句属于特定的对象(类,函数,if条件,循环)
答案 1 :(得分:0)
if
块包含两个缩进的打印语句,仅在满足条件时才执行。与print('AM I out?')
处于同一级别的if
语句只是该块后面的语句。它不受条件的影响。如果该语句位于else
块中,则不会被触发。
答案 2 :(得分:0)
所有缩进级别都是序列。它一个接一个地执行。
缩进的所有内容都取决于缩进之前的行。
在您的情况下,您有以下三项内容的序列:赋值,然后是有条件的(可能执行或可能不执行自己的两件事情的序列),然后是打印。
为了确保某些不作为条件语句的一部分执行,您需要引入一个else
分支:
var = 100
if var == 100:
print ("Value of expression is 100")
print ("Good bye!")
else:
print("AM I out?")
在这里,您需要执行以下两项操作:一项分配和一项有条件的。该条件语句在正分支中具有两个打印序列,在负分支中具有一个打印序列。