获取对象属性

Rom*_* M. 31 python

简单的问题,但由于我是python的新手,从php转发,我得到了一些错误.
我有以下简单的类:

User(object)
        fullName = "John Doe"

user = User()
Run Code Online (Sandbox Code Playgroud)

在PHP中,我可以执行以下操作:

$param = 'fullName';
echo $user->$param; // return John Doe
Run Code Online (Sandbox Code Playgroud)

我怎么在python中这样做?

Rom*_*huk 78

要访问对象的字段或方法,请使用点.:

user = User()
print user.fullName
Run Code Online (Sandbox Code Playgroud)

如果将在运行时定义该字段的名称,请使用buildin getattr函数:

field_name = "fullName"
print getattr(user, field_name) # prints content of user.fullName
Run Code Online (Sandbox Code Playgroud)


rub*_*bik 15

getattr如果您有字符串形式的属性,请使用:

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

>>> u = User()
>>> param = 'name'
>>> getattr(u, param)
'John'
Run Code Online (Sandbox Code Playgroud)

否则使用点.:

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

>>> u = User()
>>> u.name
'John'
Run Code Online (Sandbox Code Playgroud)