Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
返回的是python函数中的隐式中断_Python_Function - Fatal编程技术网

返回的是python函数中的隐式中断

返回的是python函数中的隐式中断,python,function,Python,Function,我有下面的python函数来检查字符串是否是电话号码(我知道用正则表达式可以更简单地编写它…) 如果我写这篇文章,我会把return True作为函数的第一行。当其中一个假条件为真时,是什么阻止函数返回True?return语句是隐式中断吗(例如,一旦其中一个False条件为True,代码就会中断,并且不会处理将来的任何行) 如果我写这篇文章,我会把返回值True作为函数的第一行 但是函数将返回(用其他词终止),忽略第一行下面的所有内容,因此函数将始终返回true return是一个关键字,它强

我有下面的python函数来检查字符串是否是电话号码(我知道用正则表达式可以更简单地编写它…)

如果我写这篇文章,我会把
return True
作为函数的第一行。当其中一个假条件为真时,是什么阻止函数返回
True
?return语句是隐式中断吗(例如,一旦其中一个False条件为True,代码就会中断,并且不会处理将来的任何行)

如果我写这篇文章,我会把返回值True作为函数的第一行

但是函数将返回(用其他词终止),忽略第一行下面的所有内容,因此函数将始终返回true

return
是一个关键字,它强制函数在该点终止,无论发生什么情况,代码行都会超出该点

换句话说,一旦函数的执行遇到
return
关键字,它将停止函数进一步执行,并返回调用函数


阅读

return中的详细信息
意味着立即停止此函数的执行并返回到调用函数(在某些清理代码尚未完成的情况下存在例外情况)是的,
return
将在此处结束任何函数。一个例外是,如果您从
try
中返回,则会执行
finally
-块,但
除外@schwobaseggl另一个例外是
返回
时使用
block@MichaelButscher没错,但我必须说,这正是我对上下文管理器的期望。这与我第一次调试try和finally块返回时发生的神秘事件非常不同:D@schwobaseggl有趣的一定要说出“尝试”和“最终”的古怪。
def isPhoneNumber(text):
    if len(text) != 12:
        return False
    for i in range(0,3):
        if not text[i].isdecimal():
            return False
    if text[3] != '-':
        return False
    for i in range(4,7):
        if not text[i].isdecimal():
            return False
    if text[7] != '-':
        return False
    for i in range(8,12):
        if not text[i].isdecimal():
            return False
    return True

message = 'Call me at 415-555-1011 tomorrow. 415-555-9999 is my office number.'

for i in range(len(message)):
    chunk = message[i:i+12]
    if isPhoneNumber(chunk):
        print('Phone number found: ' + chunk)