对Python3 goto 语句的使用方法详解

yipeiwu_com7年前Python基础

熟悉 C 语言的小伙伴一定对 goto 语句不陌生,它可以在代码之间随意的跳来跳去,但是好多老鸟都告诫大家,不要使用 goto,因为 goto 会使你的代码逻辑变的极其混乱。

但是有时候我们不得不用它,因为它太高效了。比如进入循环内部深层一个 goto 就能回到最上层,还有可以定位到代码的任意一个位置,很是高效方便。

但是也不要所有的代码都用 goto,那样你的代码就变得像量子世界那样诡异,连你自己都控制不了。

最后一句忠告,能不用 goto 最好就不用。

对Python3 goto 语句的使用方法详解

首先安装一个 goto 的包(因为官方是没有 goto 语句的)

pip install goto-statement

具体的语法

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

github goto pack:https://github.com/snoack/python-goto

以上这篇对Python3 goto 语句的使用方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Numpy数组转置的两种实现方法

Numpy数组转置很容易,两种写法 np_array = np.array([[1, 2], [3, 4]]) np_array.transpose() np.transpose...

python3射线法判断点是否在多边形内

本文实例为大家分享了python3射线法判断点是否在多边形内的具体代码,供大家参考,具体内容如下 #!/usr/bin/python3.4 # -*- coding:utf-8 -*...

python石头剪刀布小游戏(三局两胜制)

Python 石头剪刀布小游戏(三局两胜),供大家参考,具体内容如下 import random all_choioces = ['石头', '剪刀', '布'] win_list...

把vgg-face.mat权重迁移到pytorch模型示例

最近使用pytorch时,需要用到一个预训练好的人脸识别模型提取人脸ID特征,想到很多人都在用用vgg-face,但是vgg-face没有pytorch的模型,于是写个vgg-face....

Python中super的用法实例

super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。总之前人留下的经验就...