首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >unicode_literals与__slots__在python2.7上的应用

unicode_literals与__slots__在python2.7上的应用
EN

Stack Overflow用户
提问于 2014-05-29 06:29:18
回答 1查看 151关注 0票数 2

我试图将我的Python2.7程序转换为使用from __future__ import unicode_literals,但是让pylint对我大喊大叫,说我不能将unicode字符串作为__slots__成员。

您知道它是否真的带来了问题,或者unicode/string对于__slots__实现也是一样的吗?从Python的文档中可以看出,任何不变的对象都可以,但我不确定。

示例代码:

代码语言:javascript
复制
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给出了以下错误消息:

代码语言:javascript
复制
a.py|4 col 18 error| [invalid-slots-object] Invalid object "u'a'" in __slots__, must contain only non empty strings [python/pylint]

但看起来挺好的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-01 18:03:43

这是一个自我回答,最初由提问者粘贴到提问体中.

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23927098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档