gpt4 book ai didi

python - 如何覆盖 Python 的 'str' 以便它返回大写值?

转载 作者:太空宇宙 更新时间:2023-11-04 07:50:13 25 4
gpt4 key购买 nike

如何定义

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'

关于python - 如何覆盖 Python 的 'str' 以便它返回大写值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55875139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com