在Python中,沒有內置的goto
函數,因為它違反了結構化編程的原則。在結構化編程中,盡量避免使用無條件跳轉語句,如goto
。
如果你真的需要在Python中模擬goto
語句,你可以使用label
和goto
這兩個函數來實現。下面是一個簡單的示例:
class Label:
def __init__(self, name):
self.name = name
self.target = None
def __call__(self):
if self.target:
self.target()
def set_target(self, target):
self.target = target
def goto(label):
label()
# 使用示例
def main():
start = Label('start')
loop = Label('loop')
end = Label('end')
i = 0
start()
i += 1
print(i)
if i < 5:
loop()
i += 1
print(i)
goto(start)
else:
end()
print('Done')
if __name__ == '__main__':
main()
在上面的示例中,我們定義了Label
類來表示標簽,該類的實例可以被調用。goto
函數接受一個Label
實例作為參數,并調用該實例來跳轉到相應的位置。
需要注意的是,使用goto
函數和Label
類來模擬goto
語句并不是一個好的實踐。在大多數情況下,可以通過結構化編程的方式來替代使用goto
語句。