gpt4 book ai didi

python - 在 python2.7 上使用 unicode_literals 和 __slots__

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

我正在尝试将我的 Python 2.7 程序转换为使用 from __future__ import unicode_literals 但是 pylint 对我大喊我不能将 unicode 字符串作为 __slots__ 成员.

你知道它是否真的会带来问题,或者 unicode/string 对于 __slots__ 实现是相同的吗?来自 Python 的 documentation似乎任何不可变对象(immutable对象)都可以,但我不确定。

示例代码:

from __future__ import unicode_literals

class Foo(object):
__slots__ = ('a', 'b')
def __init__(self, a, b):
self.a = a
self.b = b

foo = Foo(5,7)
print foo.a
print foo.b

Pylint 给出了这个错误信息:

a.py|4 col 18 error| [invalid-slots-object] Invalid object "u'a'" in __slots__, must contain only non empty strings [python/pylint]

但它似乎工作正常。

最佳答案

This is a self-answer, originally pasted into the question body by the questioner.

导入unicode_literals时,可以使用b''表示法来声明非unicode字符串,它们正是__slots__所需要的.

关于python - 在 python2.7 上使用 unicode_literals 和 __slots__,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23927098/

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