python - 如何使用类列表作为函数参数?
问题描述
在使用 C# 几年后,我正在学习 python(3)。因此,我正在用 python 编写一些家庭项目,但我遇到了一些我似乎无法弄清楚如何在 python 中执行的问题。
可以说我有一个像这样的简单类:
class SomeItem:
def __init__(self, var1, var2, var3):
# Instance Variable
self.var1= var1
self.var2= var2
self.var3 = var3
在我的代码中的某个时刻,我正在使用这个类将一堆它们放在一个列表中;
list_of_SomeItems = []
list_of_SomeItems.append(SomeItem("apple","banana", "pear"))
list_of_SomeItems.append(SomeItem("fruit","candy", "drinks"))
# so on and so forth
return list_of_SomeItems
但是现在出现了我似乎无法弄清楚的部分在某个时候,我想创建一个函数来获取这些列表SomeItems
并对其进行处理。
def name_of_function(interval=1.0, someItemsList):
for item in someItemsList:
print(item.var1)
但很明显,此时它不知道item
有一个 var1,因为我没有告诉函数列表必须是SomeItem
对象。
在我的函数中声明列表并将该参数与类关联的正确方法是什么?
编辑 固定;正如@chepner 和@Perfect 提到的,错误是可选参数被放在第一位(普通语法错误);修复该错误后;它按预期工作。
解决方案
修复语法错误后,代码将按原样工作。
Python是动态类型的,你可以试试foo.bar
,如果foo
有这个bar
属性它会成功,如果没有,它只会引发一个AttributeError
你可以抓住except
并继续前进的方法。
推荐阅读
- c# - 将事件链接到依赖项?
- c++ - 通过拆分将 char* 转换为字符串数组
- r - 在 R 中创建具有额外行和列信息的矩阵
- css - CSS 按钮问题
- firebase - 如何使用 Flutter 从 Firebase 数据库查询中打印列表?
- javascript - 如何在 React 中将数组作为结果从一个功能组件传递到另一个功能组件
- javascript - 在 HTML 中以反应形式从 formArray 访问 formControl 的值
- python - django 找不到对象字段。错误:Items() 得到了一个意外的关键字参数“sellbtn”
- cakephp-4.x - CakePHP 4 DefaultPasswordHasher::hash() 问题。每次使用不同的哈希
- ubuntu - Suckless 的简单终端非等宽字体