在多个函数中使用列表

2024-09-29 23:17:22 发布

您现在位置:Python中文网/ 问答频道 /正文

是否可以在单独的函数中使用在一个函数中创建的列表?在

我在这个函数中创建了一个光盘列表:

def create_discs():

    disc_list=['disc0', 'disc1', 'disc2']

然后我想在另一个函数中使用这个列表

^{pr2}$

我在尝试执行此操作时遇到以下错误:

NameError: file <maya console> line 48: global name 'disc_list' is not defined #

我正在使用Autodesk Maya


Tags: 函数列表def错误createlistfiledisc
3条回答

如果不想使用类来维护状态,那么可能需要一个global变量,或者可以从create_list()返回列表。在

使用全局变量

disc_list = []

def create_list():
    global disc_list

    disc_list = ['disc0', 'disc1', 'disc2']

def move_discs
    cmds.move(disc_list[1], 0, 0, 5)

请注意,不鼓励使用全局变量。在

create_list()返回列表

^{pr2}$

但我不认为这对你有多大帮助,因为你可能需要在整个项目中保持你的列表状态。在

您只需在第一个函数中返回该列表:

>>> def create_discs():
    disc_list=['disc0', 'disc1', 'disc2']
    return disc_list


>>> def move_discs():
    l = create_discs()
    print(l)
>>> move_discs()
['disc0', 'disc1', 'disc2']

您可以让第一个函数返回通缉列表,然后在您喜欢的任何地方使用它:

def create_discs():
    disc_list = ['disc0', 'disc1', 'disc2']
    return disc_list

def move_discs():
    disc_list = create_discs()
    cmds.move(disc_list[1], 0, 0, 5)

希望这有帮助。在

相关问题 更多 >

    热门问题