dir()未列出的named元组的方法

时间:2017-12-14 11:35:21

标签: python python-3.x namedtuple

8.3. collections — Container datatypes — Python 3.6.4rc1 documentation
它指定了methods: { handleSubmit (e) { let data = new FormData() data.append('name', 'image') data.append('file', e.target.files[0]) $.ajax({ url: 'http://127.0.0.1:8000/api/add/post/', data: data, type: 'POST', success () { }else{ } }) } } 的5种方法。

namedtuple

然而,namedtuple_methods = {'_fields', '_make', '_replace', '_asdict', '_source'} 方法无法获取方法

dir

他们没有交集。

有趣的是,特定的from collections import namedtuple set(dir(namedtuple)) & namedtuple_methods In [64]: set(dir(namedtuple)) & namedtuple_methods Out[64]: set() 列出了方法

namedtuple

背后的机遇是什么?

1 个答案:

答案 0 :(得分:2)

namedtuple是一个工厂函数(从字面上看,源代码中有一个函数以def namedtuple(开头),它本身不是一个类(它创建了{{的子类) 1}},但它不是tupletuple)。简单的namedtuple - ed函数不会有任何这样的特殊方法。