繁体   English   中英

如何在python 3参数中指定dict dtat类型

[英]How do I specify a dict dtat type in a python 3 parameter

我试图将dict变量传递给Python 3中的函数,然后尝试通过调用.keys()函数来遍历键。 但是我不知道如何指定参数的类型。

def DisplayStock(StockDict):
    for key in StockDict.keys():

我得到的错误是

for key in StockDict.keys():
AttributeError: 'function' object has no attribute 'keys'

似乎您只是在向函数传递错误信息。 从错误看来,您正在给它一个功能。 也许您应该将()放在引起错误的参数后面。

通常,您不需要指定类型。 该函数可以采用任何类型。

如果要检查传递的参数是否为字典,则可以使用:

if isinstance(Stockdict, dict):
     for key in Stockdict.keys()

不过,这不是很pythonic。 只是不要将非dict这样的对象传递给函数。

我想你问pep-484

def DisplayStock(StockDict: dict):
    for key in StockDict.keys()

StockDict是参数名称, dict是参数类型。

问题不在于参数类型。 Python很高兴只提供一个变量名和原始代码,然后使用.keys方法。 错误出在代码的其他部分,我错过了函数调用的括号,并将字典对象设置为函数引用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM