首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有namedtuple()的内部类

带有namedtuple()的内部类
EN

Stack Overflow用户
提问于 2015-02-25 22:22:46
回答 1查看 1.6K关注 0票数 4

我试图使用collections.namedtuple将字典转换为python对象。

代码语言:javascript
复制
import Zabbix

class Foo:

  def bar(self):
    collections.namedtuple('Zabbix.Request',['b','c'])

这将导致

代码语言:javascript
复制
ValueError: Type names and field names must be valid identifiers: 'Zabbix.Request'

我的简单修正是只扩展Foo中的内部类。

代码语言:javascript
复制
import Zabbix

class Foo:

  class Request(Zabbix.Request):
    pass

  def bar(self):
    collections.namedtuple('Request',['b','c'])

有更好的办法吗?目前使用python 3.4

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-26 00:16:47

您不能给一个类型命名Zabbix.Request,因为这是无效的语法(例如,class Zabbix.Request:)。因此,您也不能创建具有该名称的namedtuple

修改后的代码不等同于第一个代码示例:您现在正在创建一个以namedtuple作为名称的Request。这是允许的,因为Request将是类型的有效标识符。

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

https://stackoverflow.com/questions/28730813

复制
相关文章

相似问题

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