希望下面能说明我的观点。我想设置一次translate属性,然后能够将任何mod(比如translate)传递到modLevels函数中。我知道如何做到这一点的唯一方法是通过嵌套类,但我不知道如何访问外部类点。有什么想法吗?如果我做错了就告诉我。谢谢!你知道吗
class PointSet:
def __init__(self, points):
self.points = points
class translate:
def __init__(self, xmove=0, ymove=0):
self.xmove = xmove
self.ymove = ymove
def __call__(self):
for p in Outer.points: # <-- this part isnt working
p.x += self.xmove; p.y += self.ymove
def modLevels(levels, *mods):
for lev in range(levels):
for mod in mods:
mod
set1 = PointSet(...list of point objects here...)
coolMod = translate(xmove=5)
change(5, coolMod)
作为参数传递。你知道吗
独立示例:
但是,正如注释中所解释的,您根本不需要嵌套类。你知道吗
谢谢大家的帮助。我在ubuntu论坛上找到了访问外部类的方法。Solved referencing outer class from an inner class。 我需要这样做,将一些参数传递给转换构造函数,然后重写调用函数以使用这些参数。这与C++函数对象类似,就像您将传递给STL算法:more on function objects。你知道吗
相关问题 更多 >
编程相关推荐