是否有任何标准Python3对象的get方法不';你没有位置参数吗?

是否有任何标准Python3对象的get方法不';你没有位置参数吗?,python,Python,我试图弄清楚如何使用一个文档很少的API的特性。为了简单起见,我提取了给我带来麻烦的代码块: def build_custom_args(args): custom_args = {} for key in args: custom_args.update(key.get()) print(custom_args) 我可以从构造args的函数看出它是一个列表。问题是,列出了什么?无论我在列表中输入了什么,key.get()都会引发

我试图弄清楚如何使用一个文档很少的API的特性。为了简单起见,我提取了给我带来麻烦的代码块:

def build_custom_args(args):
    custom_args = {}
        for key in args:
            custom_args.update(key.get())
        print(custom_args)
我可以从构造
args
的函数看出它是一个列表。问题是,列出了什么?无论我在列表中输入了什么,key.get()都会引发一个异常,另一个异常

例如,如果我像这样执行代码:
build\u custom\u args(['foo'])
那么我会得到一条可以理解的错误消息:
AttributeError:'str'对象没有属性'get'

或者,尝试使用字典:
build\u custom\u args([{'foo':'bar'}])
,但出现了错误:
TypeError:get至少需要1个参数,get 0

据我所知,
args
是一些标准python对象的列表-没有迹象表明这些对象是具有自定义
get()
方法的特殊对象

我错过了什么明显的东西吗?是否有一些标准python对象具有不接受位置参数的
get()
方法?这是某种旧版本Python的语法吗?还是我在API中发现了一个bug

编辑 接受的答案表明,我错误地认为
args
必须是python内置的


Jack的答案值得一看,因为它实际上解决了一个问题:“Python内置的
args
会是什么导致这个函数不会抛出错误?”

AFAIK唯一具有
get
的类是
队列


在您的示例中,这可能是一个
队列
dict
s

AFAIK唯一具有
get
的类是
队列


在您的示例中,这可能是一个
队列
,由
dict
s

组成。。。我在您提供的github链接中找到了这个

class Email(object):
    # code... 

    def get(self):
事实上,很多这样的类都有get方法


由于Python是duck类型的,所以实际上没有办法确定哪个对象是正确的,但您只是在构建一个字典,所以不应该太重要。。。我在您提供的github链接中找到了这个

class Email(object):
    # code... 

    def get(self):
事实上,很多这样的类都有get方法



因为Python是duck类型的,所以实际上没有办法确定哪个对象是正确的,但您只是在构建一个字典,所以不必太在意

Python是duck类型的,所以可能有多个类型实现了
。get
,少谈自定义类。您可以从告诉函数应该做什么开始,使用参数是否有任何标准python类型具有不带位置参数的
.get
方法?这是基于Tkinter的应用程序吗?StringVar、IntVar等都有一个zero-arg
get()
方法。我想我没有必要对我正在研究的API含糊其辞,我只是想让答案更加普遍适用,而不是非常具体。我看到的API是。具体回答你的问题,不要在回购协议中搜索tkinter,我什么也没看到。我正在处理的特定文件大约在第70行,您有一个或实例。Python是duck类型的,因此可能有多个类型实现
。get
,talk less自定义类。您可以从告诉函数应该做什么开始,使用参数是否有任何标准python类型具有不带位置参数的
.get
方法?这是基于Tkinter的应用程序吗?StringVar、IntVar等都有一个zero-arg
get()
方法。我想我没有必要对我正在研究的API含糊其辞,我只是想让答案更加普遍适用,而不是非常具体。我看到的API是。具体回答你的问题,不要在回购协议中搜索tkinter,我什么也没看到。我正在处理的特定文件大约在第70行,您有一个or实例。但是,
Queue
不是内置的,所以OP应该检查导入,看看是否导入了
Queue
模块。
Queue
是Python的一部分,但只有在创建新的
Queue
时才需要导入。问题中的方法不需要将其导入该文件。也就是说,我同意在整个项目中为
队列
队列
执行grep几乎肯定会导致这是否是正确答案…尽管如果该方法只需要
队列
,则不需要在其他任何地方导入。是的,我不是指“文件的导入”,而是“整个项目中的导入”.Jack肯定是对的,+1用于实际回答我提出的问题,而不是深入github来回答我需要回答的问题。但是,
Queue
不是内置的,所以OP应该检查导入,看看是否导入了
Queue
模块。
Queue
是Python的一部分,但只有在创建新的
队列时才需要导入。问题中的方法不需要将其导入该文件。也就是说,我同意在整个项目中为
队列
队列
执行grep几乎肯定会导致这是否是正确答案…尽管如果该方法只需要
队列
,则不需要在其他任何地方导入。是的,我不是指“文件的导入”,而是“整个项目中的导入”.Jack肯定是对的,而且+1实际上回答了我提出的问题,而不是深入github来回答我需要回答的问题。我发现:class
CustomArg(object):。。。返回自定义参数
。我一直认为自定义参数是一种标准的python类型,以至于当搜索自定义参数时没有出现任何结果,我就完全偏离了方向