如何定义
class CapStr(str):
# ...
在 Python (3.7+) 中,结果 str 子类中的所有字母都大写,例如
>>> foo: CapStr = CapStr('aBcd')
>>> foo
'ABCD'
>>> CapStr('wXyZ')
'WXYZ'
请您参考如下方法:
您可以覆盖 str 的子类的 __new__ 方法,以用大写值包装其父类(super class)的 __new__ 方法:
class CapStr(str):
def __new__(cls, value):
return super().__new__(cls, value.upper())
这样:
>>> CapStr('aBcd')
'ABCD'
