我正在参加一个关于Python的在线课程。你知道吗
if <TestExpression>:
<block>
i=21
关于上述代码(“code1”),讲师说无论测试表达式是否为真,i=21
都将执行,因为i=21
与if
语句具有相同的缩进,这意味着i=21
不是if
语句的一部分。你知道吗
不过,讲师还说了以下代码(“代码2”):
def bigger(a,b):
if a>b:
return a
return b
与以下代码(“代码3”)相同:
def bigger(a,b):
if a>b:
return a
else:
return b
这和他之前说的不矛盾吗?^code1中的{return b
都与它们以前的if
语句具有相同的缩进,但是为什么i=21
总是在测试表达式为真或假的情况下执行,而return b
只在测试表达式(a>;b)为假的情况下执行?你知道吗
如何确定紧跟在if
构造后面的语句是否应该执行,该构造与if
行具有相同的缩进?换句话说,如何确定该语句是否是if
构造的一部分?你知道吗
这是你问的一个很好的问题,很多新人都有这个问题。你知道吗
问题在于
return
关键字。在函数中,当它returns
一个值时,函数立即中断。因此,不会运行函数中的后续代码。因此,我们可以将条件语句简化为:观察:
当我们调用
test()
时,只打印Hello!
。你知道吗这很有用的一个原因是,在Python中有多个条件语句时,可以阻止错误的空格。当然,在大多数其他编程语言中,由于空格不是一个特性,所以它不是必需的。你知道吗
假设您正在编写一个函数来检查一个数是否为素数,其中需要很多条件语句。(当然,在这个例子中,这是没有效率的):
知道
return
会破坏函数,我们可以将其重写为:你看凹痕怎么这么干净?你知道吗
这是因为一个函数不能返回两次。当满足
if
时,它将返回并且不再执行任何语句。因此,下一个return
语句是不可访问的。你知道吗下一个}。你知道吗
return
只在if
失败时执行。^当if
失败时,也会执行{这就是为什么你的老师说,他们都是一样的。你知道吗
相关问题 更多 >
编程相关推荐