PHP前端开发

为什么Python中没有goto语句?

百变鹏仔 2个月前 (01-27) #Python
文章标签 语句

是的,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", a);      a++;   }while( a <h2>输出</h2><pre class="brush:php;toolbar:false;">a = 10a = 11a = 12a = 13a = 14a = 16a = 17a = 18a = 19

注意 - 在 C 语言中也不鼓励使用 goto 语句。

立即学习“Python免费学习笔记(深入)”;

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<h2>嵌套方法</h2><h3>示例</h3><p>使用嵌套方法作为另一种选择 -</p><pre class="brush:python;toolbar:false;">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