Python学习-goto语句 Learn for python-goto statement
前面有提到,我开发了一个BTS自动交易的程序,是用Python语言完成的。以前没有使用过Python语言,也是边学边用。相对来说,我对C#语言比较熟悉一些,在使用C#语言时经常用它的一个偏门语法:goto语句。goto语句大家应该都比较了解了,就是跳转语句,汇编语言里面比较常见。现代软件工程中往往不推荐使用goto语句,因为代码逻辑复杂,出问题不好定位。
但是我发现在一些操作类的过程性代码或者状态机代码中,goto语句要比if...else...语句好用多了,看起来也更容易理解一些。我的使用习惯是主场景使用Action1、Action2...Action-n等主要操作序列,对于分支场景,就简单的使用goto语句跳转到别处,感觉很舒服、很简单。
只是Python语言原生是不支持goto语句的,我找了一个库,试用了一下,感觉还很爽,贴出来给大家分享:
from goto import with_goto
@with_goto
def Test():
label .start
print('start...')
label .step1
print('step1')
label .step2
print('step2')
goto .start
关键点:
- 安装goto模块,可以pip3 install goto-statement
可参考:https://github.com/snoack/python-goto - 导入goto模块,如示例代码所示
- 使用@with_goto修饰为函数整个goto能力
- label .xxx,增加标签,标签需要以“.”开头
- goto .xxx,跳转到指定的标签处
I like and enjoyed your post ! Keep publishing interesting and informative articles.
Keep steeming. Cheers !!!