Я изучаю Python, и я только что сделал пример на youtube, что меня сбивает с толку по ряду причин. Первый из них - это. Я понимаю, что при создании класса все, что в скобках после, должно быть пустым или родительским. Значение создаваемого класса наследует вещи из другого класса. Например:Понимание родительских/дочерних классов в Python
Class Child(Parent):
В примере, наклеенный ниже, первый создаются здесь класс имеет «объект» в скобках, что я не понимаю, что это такое и что это ссылка, потому что я не вижу в этом где-нибудь еще в коде, и, конечно же, нет класса с именем «Объект».
#http://www.youtube.com/watch?v=OcKeDVOzTwg
import sys
YELLOW= '\033[93m'
RED = '\033[91m'
NORMAL = '\033[0m'
Class Person(object):
def __init__(self, name, age):
self.name=name
self.age=age
def __str__(self):
return %s is %d (self.name, self.age)
class PersonDecorator(Person)
def __init__(self, person):
self._person = person
def __getattr__(self, name):
return getattr(self.__person, name)
def __str__(self):
age = self._person.age
color = NORMAL
if age >= 30:
color =RED
elif age >= 20:
color=YELLOW
return '%s%s%s' % (color, self._person.__str__(), NORMAL)
def main():
p = []
p.append(Person('Micheal', 25))
p.append(Person('Bill', 2))
p.append(Person('Ryan', 40))
p.append(Person('Matt', 21))
for person in p:
if '-c' in sys.argv
person = PersonDecorator(person)
print person
if __name__ = '__main__'
main()
Существует класс с именем 'object', это базовый класс всех классов. (В Python 2 это базовый класс всех классов «нового стиля», но это по существу означает все, потому что это единственные, которые вы хотели бы использовать.) – BrenBarn
В частности, см. Http://docs.python.org/ 2/reference/datamodel.html # new-style-and-classic-classes. –
Прочтите это, [http://stackoverflow.com/questions/4015417/python-class-inherits-object?rq=1] – NullException