私はPythonを学んでいますが、YouTubeで例を見つけたところ、いくつかの理由で混乱しています。最初のものはこれです..クラスを作成するとき、その後の括弧内は空白または親クラスでなければならないことを理解しています。作成されているクラスが別のクラスから継承していることを意味します。例えば:
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()