
是的,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免费学习笔记(深入)”;
在 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
它是一个在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语句?的详细内容,更多请关注php中文网其它相关文章!
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号