在条件上等同于GOTO,Python

时间:2010-12-14 11:11:11

标签: python conditional-statements goto

由于Python中没有goto运算符,可以使用什么技术呢?

条件 如果是,则转到线程1,如果为false,则转到线程2 在线程中,我们做了一些小事,然后我们转到线程2,在那里进行所有其他操作。

5 个答案:

答案 0 :(得分:14)

  

由于Python中没有goto运算符,可以使用什么技术呢?

在逻辑上和语义上构建代码。

if condition:
    perform_some_action()

perform_other_actions()

答案 1 :(得分:6)

def thread_1():
  # Do thread_1 type stuff here.

def thread_2():
  # Do thread_2 type stuff here.

if condition:
    thread_1()

# If condition was false, just run thread_2(). 
# If it was true then thread_1() will return to this point.
thread_2()

编辑:我假设“线程”是指一段代码(也称为子程序或函数)。如果您在并行执行中讨论线程,那么您将需要更多详细信息。

答案 2 :(得分:5)

据我所知,它不存在(谢天谢地),但你应该查看link

  

“goto”模块是4月1日发布的愚人节笑话   2004年。是的,它有效,但它仍然是一个笑话。请不要在实际代码中使用它!

答案 3 :(得分:2)

Python旨在支持良好的编码实践,而GOTO不是其中之一。如果使用不当,可能会导致程序逻辑不可读。

我建议以 Python方式学习您的程序代码,不要与其他编程语言一起使用(有时是坏的)习惯。请参阅Python文档,真正成熟的Python程序并学习。

答案 4 :(得分:0)

header_to_page = {}
with open("file.txt", "r") as f:
    content = f.read()
    pages = content.split("//")
    for page in pages:
        lines = page.split("\n")
        header_to_page[lines[0]] = "".join(lines[1:])

print header_to_page["example line"]

这是我每次在Python 3.x中使用的。