获取对象属性

46 投票
4 回答
158833 浏览
提问于 2025-04-16 19:18

这是个简单的问题,不过我刚开始学Python,之前是用PHP,所以遇到了一些错误。
我有一个简单的类:

User(object)
        fullName = "John Doe"

user = User()

在PHP中,我可以这样做:

$param = 'fullName';
echo $user->$param; // return John Doe

那我在Python中该怎么做呢?

4 个回答

4

如果你需要动态地获取一个对象的属性,可以使用 getattr() 这个函数,比如:getattr(user, "fullName")。简单来说,就是你可以通过这个函数来获取用户的全名。

user = User()
property = "fullName"
name = getattr(user, property)

如果你只是想直接获取属性,那就可以用 user.fullName 这种方式。

17

如果你有一个属性的名字是以字符串形式存在的,可以使用 getattr 函数:

>>> class User(object):
       name = 'John'

>>> u = User()
>>> param = 'name'
>>> getattr(u, param)
'John'

如果不是这种情况,就直接用点 . 来访问属性:

>>> class User(object):
       name = 'John'

>>> u = User()
>>> u.name
'John'
103

要访问一个对象的属性或方法,可以使用点号 .

user = User()
print user.fullName

如果属性的名称是在运行时才确定的,可以使用内置的 getattr 函数:

field_name = "fullName"
print getattr(user, field_name) # prints content of user.fullName

撰写回答