У меня проблема с питоном:
Я хочу назначить метод для объекта из другого класса, но в этом методе использовать свои собственные атрибуты. Поскольку в моем проекте много контейнеров с разными методами использования (не в этом примере), я не хочу использовать наследование, поэтому мне пришлось бы создавать собственный класс для каждого экземпляра.
class container():
def __init__(self):
self.info = "undefiend info attribute"
def use(self):
print self.info
class tree():
def __init__(self):
# create container instance
b = container()
# change b's info attribute
b.info = "b's info attribute"
# bound method test is set as use of b and in this case unbound, i think
b.use = self.test
# should read b's info attribute and print it
# should output: test: b's info attribute but test is bound in some way to the tree object
print b.use()
# bound method test
def test(self):
return "test: "+self.info
if __name__ == "__main__":
b = tree()
Большое спасибо за то, что прочитали это и, возможно, помогаете мне! :)