python - 我可以在 Python 中使用变量引用类实例吗?
问题描述
我有一个类实例列表,我想使用在运行时设置的变量来检查列表中的特定实例是否在列表中。
class Animal():
def __init__(self, name):
self.name = name
cat = Animal('cat')
dog = Animal('dog')
fish = Animal('fish')
animals = [cat, dog, fish]
assert dog in animals # True
target = 'dog'
assert target in animals # Error
这可以做到吗?
解决方案
dog
是 Animal 类的一个实例。
您可以尝试遍历每个类并.name
像这样获取和比较:
class Animal():
def __init__(self, name):
self.name = name
cat = Animal('cat')
dog = Animal('dog')
fish = Animal('fish')
animals = [cat, dog, fish]
assert dog in animals # True
target = 'dog'
for class_obj in animals:
print(target == class_obj.name)
推荐阅读
- c# - 在 ListView 中跨越多列的列标题
- python - 如何使用 Python seaborn 库绘制(散点图)分类数据
- java - 使用现有 java.util.Predicate 实例过滤 Kotlin 中的集合
- git - 在提交中恢复对子模块的更改
- android - 加载android芯片组件时应用程序崩溃
- drupal-8 - Drupal 8 中选择(或其他)的替代模块
- visual-studio - 如果发布不可见,如何制作 UWP 包的发布版本?
- php - 找到帖子的最顶层父类别并创建活动类
- javascript - ReferenceError:提示未定义
- java - 创建字符串的正则表达式