在 PyCharm 中,您可以声明一个命名元组。
from collections import namedtuple
InstTyp = namedtuple(
typename='InstTyp',
field_names='''
instance_type
memory
num_cpus
'''
)
使用命名元组的代码运行没有错误。
it = InstTyp(
instance_type='tx',
memory=64,
num_cpus=8
)
但是,PyCharm 会引发“意外参数”和“未填充参数”检查警告。
field_names 是一系列字符串,例如 ['x', 'y']。或者,field_names 可以是单个字符串,每个字段名用空格和/或逗号分隔,例如“x y”或“x, y”。
Python解释器处理所有空格,因此代码可以运行。 PyCharm 不处理空白中的换行符,因此 PyCharm 显示检查警告。
有两种解决方案。
将 field_names 拆分为数组:
InstTyp = namedtuple(
typename='InstTyp',
field_names='''
instance_type
memory
num_cpus
'''.split()
)
将 field_names 放在一行上。
InstTyp = namedtuple(
typename='InstTyp',
field_names='instance_type memory num_cpus'
)
PyCharm 检查警告消失了。