从另一个函数调用在一个函数内部定义的变量

如果我有这个:


def oneFunction(lists):

    category=random.choice(list(lists.keys()))

    word=random.choice(lists[category])


def anotherFunction():

    for letter in word:              #problem is here

        print("_",end=" ")

我之前已定义lists,因此oneFunction(lists)效果很好。


我的问题是word在第6行中调用。我试图word在第一个函数的外部word=random.choice(lists[category])定义相同的定义,但是word即使调用,它也总是相同的oneFunction(lists)。


我希望每次调用第一个函数然后再调用第二个函数都具有不同的word。


我能做到这一点,而不界定word外oneFunction(lists)?


九州编程
浏览 842回答 3
3回答

慕森王

python中的所有内容都被视为对象,因此函数也是对象。因此,您也可以使用此方法。def fun1():    fun1.var = 100    print(fun1.var)def fun2():    print(fun1.var)fun1()fun2()print(fun1.var)
打开App,查看更多内容
随时随地看视频慕课网APP