[英]Python Control Flow
对于以下代码:
def isString(x):
if type(x)==str:
return True
return False
当我在参数中输入字符串时,返回True之后,为什么不还返回False? 我是Python的新手,我感到困惑,因为我认为它会返回False,因为它不在for循环中,但是事实并非如此。
对于任何语言,答案都是相同的。 return语句表示从函数返回,并返回可选值。 它只能返回一次。 在这种情况下,它从条件语句中返回。
顺便说一句,对于类似的类型检查,请使用is
运算符。
if type(x) is str:
return True
但是,实际上,真正推荐的进行字符串类型检查的方法是:
if isinstance(x, str):
return True
但是,由于它太短了,因此您根本不需要为此编写函数(出于学习目的)。 只需使用isinstance(x, str)
,否则会编写isString(x)
。
顺便说一句,您的代码中没有for循环
当一个函数返回某些东西(任何东西)时,它就完成了。 return
语句表示函数退出; 不再进行任何处理。
如果x
的类型为str
,则该函数返回True
。 但是,如果x
的类型不是str
,则永远不会输入if语句,并且不会返回True
。 相反,该函数将继续执行if语句之后的下一行,即return False
,并且该函数返回False
return
语句终止该函数。 返回后,该功能将停止。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.