是的,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 = 10 a = 11 a = 12 a = 13 a = 14 a = 16 a = 17 a = 18 a = 19
注意 - 在 C 语言中也不鼓励使用 goto 语句。
Python 中没有 GoTo
在 Python 中,不需要 goto,因为我们可以使用 if 语句和 or、and、if-else 表达式以及使用 while 和 for 语句进行循环(包含 continue 和 break)来完成相同的任务。
用户定义的异常
使用用户定义的异常作为替代方案 -
class goto1(Exception): pass class goto2(Exception): pass class goto3(Exception): pass def 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()
输出
In In the demo() function
goto 语句模块
它是一个在Python中使用goto的函数装饰器。在 Python 2.6 到 3.6 和 PyPy 上进行了测试。使用 pip 安装它 -
注意:适用于 Python 3.6
pip install goto-statement
让我们看一个示例 −
# Python 3.6 from goto import with_goto @with_goto def 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语句?的详细内容,更多请关注编程之家其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。