是的,python 中没有 goto 语句。我们先来了解一下什么是c语言中的goto。然而,在 c 中也不鼓励使用 goto。
c 编程中的 goto 语句提供从“goto”到同一函数中标记语句的无条件跳转。以下是语法 -
goto label;...label: statement;
示例现在让我们看看 goto 的 c 程序 -
#include <stdio.h>int main () { int a = 10; loop:do { if( a == 15) { /* skip the iteration */ a = a + 1; goto loop; } printf(a = %d\n, a); a++; }while( a < 20 ); return 0;}
输出a = 10a = 11a = 12a = 13a = 14a = 16a = 17a = 18a = 19
注意 - 在 c 语言中也不鼓励使用 goto 语句。
python 中没有 goto在 python 中,不需要 goto,因为我们可以使用 if 语句和 or、and、if-else 表达式以及使用 while 和 for 语句进行循环(包含 continue 和 break)来完成相同的任务。
用户定义的异常使用用户定义的异常作为替代方案 -
class goto1(exception): passclass goto2(exception): passclass goto3(exception): passdef loop(): print('start') num = input() try: if num<=0: raise goto1 elif num<=2: raise goto2 elif num<=4: raise goto3 elif num<=6: raise goto1 else: print('end') return 0 except goto1 as e: print('goto1') loop() except goto2 as e: print('goto2') loop() except goto3 as e: print('goto3') loop()
嵌套方法示例使用嵌套方法作为另一种选择 -
def demo(): print(in the demo() function)def inline(): print(in)inline()demo()
输出inin the demo() function
goto 语句模块它是一个在python中使用goto的函数装饰器。在 python 2.6 到 3.6 和 pypy 上进行了测试。使用 pip 安装它 -
注意:适用于 python 3.6
pip install goto-statement
让我们看一个示例 −
# python 3.6from goto import with_goto@with_gotodef range(start, stop): i = start result = [] label .begin if i == stop: goto .end result.append(i) i += 1 goto .begin label .end return result
以上就是为什么python中没有goto语句?的详细内容。