繁体   English   中英

Python控制流程

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM