0
我有繼承的類的str
:繼承,屬性訪問
class UpperStr(str):
def __new__(cls, value, font_size=12):
print 'In redefined new...'
return str.__new__(cls, value.upper())
def __init__(self, value, font_size=12):
print 'In init...'
self.font_size = font_size
然後我可以訪問在派生類中定義的屬性:
s = UpperStr('hello')
print s.font_size
但是因爲沒有辦法從python派生類的實例中獲取基類的實例,我怎麼能得到str
本身的值(在這種情況下是'hello'
)?
's'或'self'就是''你好'。 's'基本上也是'str'的一個實例。 –
但python中的繼承假定您的派生類將具有與派生類本身中定義的基礎+附加方法和屬性相同的屬性和方法。在這個意義上's'不是'str'的一個實例。什麼是合乎邏輯的解釋? – user3880400
'isinstance(s,str)'...看起來像's'是我的'str'! – kindall