我如何在另一个def过程中调用已定义过程? -Python

问题描述 投票:0回答:2

我不了解调用用于定义第二个过程的过程的基本原理。我正在努力构想一个简单的过程,并通过另一个过程试图自己解决这个问题,在我的自学课程中,我已经讲到了有用的地方。

很难找到关于此的信息(也许我没有使用正确的关键字),而且我所看到的唯一示例过于复杂,以至于无法分解。如果您能阅读任何互联网文献,我会接受的。

如何定义第二个过程并首先在其中调用过程?我知道{}是字典,[]是列表(或多或少),()是字符串(或多或少)。

我可以遵循一条规则吗?我可以在任何地方调用第一个过程,例如在for循环(在first:中为e)或if语句(在first:中)吗?难以概念化这一点。我花了几个小时在这段代码上玩,试图弄清楚它没有运气。请帮我分解一下!

python procedure
2个回答
3
投票

您可以调用嵌套在if语句中的函数,也可以在循环内调用函数。当他们编程时,没有人会想到这样的“规则”。在玩过代码之后,它将成为第二天性。

def print_hello_world(): # first function
    print "hello world"

def in_an_if_statement(): # a function that uses first func in if statement
    if 1 == 1:
        print_hello_world()

def in_a_loop(): # a function that uses first func in a loop
    for i in range(3):
        print_hello_world()

if __name__ == '__main__':
    in_an_if_statement()
    print '----'
    in_a_loop()

0
投票

我也遇到同样的问题。例如::我有一个类似的定义:

def serial_ports():    
    return serial.tools.list_ports.comports()

而且我想在另一个函数中调用或引用(或IT专家怎么说),例如:

def init_window(self):

cb = ttk.Combobox(self, values= serial_ports)  

root = Tk()

root.geometry("400x300")

app = GUIwindow(root)

root.mainloop()  

它消除了错误:

cb = ttk.Combobox(self, values= serial_ports)

NameError:未定义名称'serial_ports'

我将不胜感激,谢谢!

© www.soinside.com 2019 - 2024. All rights reserved.