python - 检查对象属性名称是否出现在字符串python中

标签 python string python-2.7 class object

我想:

  • 检查字符串是否包含对象属性
  • 如果是则访问该属性

所以对于类的对象

class Person(object):
    name = ""
    age = 0
    major = ""

    def __init__(self, name="", surname="", father="", age =0):
        self.name = name
        self.surname = surname
        self.father = father
        self.age = age
        self.identity = name +" "+ surname
    def __str__(self):
        return self.identity

    __repr__ = __str__

和对象

person = Person("Earl", "Martin", "Jason", 40)

我想要字符串“名字是什么” 返回 person.name (我已经知道字符串是关于哪个对象的)

最基本的解决方案是为每个属性做案例,但实际代码有很多,我相信我不必手动写出来,我只是编程新手,所以我不是确定用于此的语法是什么

感谢任何帮助

最佳答案

您正在寻找函数 hasattr()getattr()

检查属性是否存在:

hasattr(Person(), 'string')

并调用属性:

getattr(Person(), 'string')

关于python - 检查对象属性名称是否出现在字符串python中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39275713/

相关文章:

Python - 如果包含列表中元组的元素,则仅打印行

ios - 在 swift 3 中过滤代词、动词、地名

python - 如何在 python 中拆分字符串并使用分隔符获得结果?

python - Python 中的 slice() 函数有什么作用?

python - 选择字符串作为随机种子对输出的影响

python - 从 Windows 迁移到 Ubuntu 的 AppEngine Python 项目将不再运行

python - Tensorflow 函数打印

c++ - 实现隐式转换为 char* 的 String 类 (C++)

python - 将 fortran double 格式读入 python

parsing - 从 Scala 字符串中去除 HTML 标签