[英]Is return an implicit break in python function
我有以下python函數來檢查字符串是否是一個電話號碼(我知道它可以用正則表達式寫得更簡單......)
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)
如果我寫這個,我會把return True
作為函數的第一行。 是什么阻止返回函數True
時假條件之一是真實的嗎? return語句是否為隱式中斷(例如,一旦False條件為True,代碼中斷並且不處理任何將來的行)?
如果我寫這個,我會把返回True作為函數的第一行。
但是然后函數將返回(以其他詞結束),忽略第一行下面的所有內容,因此您的函數將始終返回true。
return
是一個強制函數在該點終止的關鍵字,無論代碼行超出該點。
換句話說,一旦函數的執行符合return
關鍵字,它將停止函數進一步執行,並返回調用函數。
閱讀更多內容為什么要在Python中使用return語句?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.