gpt4 book ai didi

Python __str__ 与 __unicode__

转载 作者:IT老高 更新时间:2023-10-28 12:14:57 25 4
gpt4 key购买 nike

对于何时应该实现 __str__()__unicode__() 是否有 python 约定。我见过类覆盖 __unicode__()__str__() 更频繁,但它似乎并不一致。是否有具体的规则,什么时候实现一个比另一个更好?是否有必要/良好的做法同时实现?

最佳答案

__str__() 是旧方法——它返回字节。 __unicode__() 是新的首选方法——它返回字符。这些名称有点令人困惑,但在 2.x 中,出于兼容性原因,我们坚持使用它们。一般来说,你应该把你所有的字符串格式放在 __unicode__() 中,并创建一个 stub __str__() 方法:

def __str__(self):
return unicode(self).encode('utf-8')

在 3.0 中,str 包含字符,因此相同的方法被命名为 __bytes__()__str__()。这些行为符合预期。

关于Python __str__ 与 __unicode__,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1307014/

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