python - لغة - مكتبة اكواد بايثون



كيفية توسيع فئة في بيثون؟ (1)

في python ، كيف يمكنك توسيع الفصل الدراسي؟ على سبيل المثال إذا كان لدي

color.py

class Color:
    def __init__(self, color):
        self.color = color
    def getcolor(self):
        return self.color

color_extended.py

import Color

class Color:
    def getcolor(self):
        return self.color + " extended!"

ولكن هذا لا يعمل ... أتوقع أنه إذا كنت أعمل في color_extended.py ، فعندما أصنع كائنًا لونًا واستخدم الدالة getcolor ، فسوف يقوم بإرجاع الكائن ذي السلسلة "ممتدة!" بالنهايه. كما ينبغي أن يكون غوتون في البداية من الاستيراد.

افترض بيثون 3.1

شكر


استعمال:

import color

class Color(color.Color):
    ...

إذا كانت هذه هي Python 2.x ، color.Color أيضًا إلى اشتقاق color.Color من object ، لجعله فئة جديدة :

class Color(object):
    ...

هذا غير ضروري في Python 3.x.





interface