2

私は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()
4

1 に答える 1

2

心配しないでください、クラスobjectは存在します。これは組み込み型であり、常に Python に存在します。

詳細:組み込み関数:object()

于 2013-10-10T01:18:12.243 に答える