让我们考虑以下脚本:
def a():
def b():
smth = 3
print smth
有什么办法可以使对象不是在全局范围内定义,而是在 a() 函数的范围内,尽管我们在 b() 函数内创建它?
就像是:
def a():
def b():
smth = 3
a_bit_more_global smth
print smth
原因如下:
class Blabla(object):
def __init__(self,q,w)
self.q = q
self.w=w
def a():
def b():
smth_2 = smth_1 + 1
global smth_2
smth_1 = 2
fen1 = Tk()
...
...
Button(...,command=b).grid()
my_blabla = Blabla(smth_1,smth_2)
return my_blabla
我一开始不知道如何将额外的参数传递给函数 b()。我终于想到我可以把 b() 放在 a() 里面。然后,同样的问题,我想使用在 b() 中创建的对象来创建对象 my_blabla。你会如何处理这个问题?
我希望我的解释是有道理的!他们吗?
谢谢 !