Например, я говорю, что мне нужно написать класс Fruit, в который подкласс может передавать приветственное сообщение. Класс Fruit должен предоставлять атрибут print_callback, который можно установить.
Код: Выделить всё
class Fruit(object):
print_callback = None
def __init__(self, *args, **kwargs):
super(Fruit, self).__init__(*args, **kwargs)
self.print_callback("Message from Fruit: ")
Код: Выделить всё
def apple_print(f):
print "%sI am an Apple!" % f
class Apple(Fruit):
print_callback = apple_print
Код: Выделить всё
mac = Apple()
Сообщение от Fruit: Я — яблоко !
Вместо этого я получаю:
TypeError: apple_print() принимает ровно 1 аргумент (2 задано)
Я думаю, это потому, что self передается в качестве первого аргумента.
Итак, как мне написать класс Fruit? Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/156 ... -in-python