Python控制流程

时间:2012-12-10 23:40:12

标签: python if-statement

以下代码:

def isString(x):
  if type(x)==str:
    return True
  return False

当我在参数中输入一个字符串时,在返回True后,为什么它也不会返回False?我是Python的新手,我很困惑,因为我认为它会返回False,因为它不在for循环中,但它没有。

3 个答案:

答案 0 :(得分:2)

任何语言的答案都是一样的。 return语句表示从函数返回,返回一个可选值。它只能返回一次。在这种情况下,它返回条件语句。

顺便说一句,对于那样的类型检查,请使用is运算符。

if type(x) is str:
    return True

但实际上,进行字符串类型检查的真正推荐方法是:

if isinstance(x, str):
    return True

但是,由于它太短,所以根本不需要为此编写函数(除了学习目的)。只需使用isinstance(x, str),否则您将以isString(x)编写。

答案 1 :(得分:1)

顺便说一下,代码中没有for循环

当一个函数返回一些东西 - 任何东西 - 它就完成了。 return语句表示函数退出;没有更多的处理。

如果x的类型为str,则该函数返回True。但是,如果x的类型不是str,则永远不会输入if语句,并且不会返回True。相反,函数继续到if语句之后的下一行,即return False - 函数返回False

答案 2 :(得分:1)

return语句终止该函数。一旦你返回,该功能就会停止。