如何在python中定义属性的属性
我试图在python中对属性进行属性化。 有没有办法做到这一点:如何在python中定义属性的属性,python,python-2.7,python-3.x,Python,Python 2.7,Python 3.x,我试图在python中对属性进行属性化。 有没有办法做到这一点: class Foo(): def __init__(self, x, y): self.x = x self.x.y = y 我不知道怎么做,我查了一些例子。但是我没有发现任何类似的例子。不太清楚您需要什么,您可以这样做(例如): 我试过你的方法,x=Foo(1,2),但程序抛出一个AttributeError:'int'对象没有属性'y'。这是正确的,你不能将属性设置为任意数据
class Foo():
def __init__(self, x, y):
self.x = x
self.x.y = y
我不知道怎么做,我查了一些例子。但是我没有发现任何类似的例子。不太清楚您需要什么,您可以这样做(例如):
我试过你的方法,x=Foo(1,2),但程序抛出一个AttributeError:'int'对象没有属性'y'。这是正确的,你不能将属性设置为任意数据类型。数据类型必须有一个名为
y
的参数,而1
-int
没有该参数。@Radekhofman(仅适用于对象)具有\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu插槽(该
具有该属性),否则您可以动态地为对象分配属性
class Bar(object):
def __init__(self, y=None):
self.y = y
class Foo(object):
def __init__(self, x, y):
self.x = x
self.x.y = y
if __name__ == '__main__':
x = Bar()
y = 1
foo = Foo(x,y)