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