>> ~a # this will work >>> ~b # this will fail 上面的失败并不奇怪,但假设我想重载 ~ 运算符-6ren">
gpt4 book ai didi

python - 是否可以在字符串上重载 ~ 运算符?

转载 作者:行者123 更新时间:2023-11-28 18:28:06 26 4
gpt4 key购买 nike

>>> a = 55
>>> b = "hello"
>>> ~a # this will work
>>> ~b # this will fail

上面的失败并不奇怪,但假设我想重载 ~ 运算符来处理字符串。我是 Python 的新手,所以我对此进行了一些挖掘,发现了一些我无法工作的诱人建议。我知道我可以创建某种新类,但我希望以下内容也能正常工作:

>>> ~"alpha bravo"

这可能吗?如果是这样,如何?如何进行这种重载?

最佳答案

不,这在 Python 中是不可能的。您无法以可靠的方式向内置类型添加新方法。

您可以做的一件事是子类化字符串,并定义魔术方法 __invert__。但它不适用于字符串文字,仅适用于您的子类的实例。

关于python - 是否可以在字符串上重载 ~ 运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39736575/

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