Python 获取对象属性

Python 获取对象属性,python,Python,这个问题很简单,但由于我是python新手,是从php过来的,所以我在这方面遇到了一些错误。 我有以下简单的类: User(object) fullName = "John Doe" user = User() 在PHP中,我可以执行以下操作: $param = 'fullName'; echo $user->$param; // return John Doe class User(object): fullName = "John Doe" de

这个问题很简单,但由于我是python新手,是从php过来的,所以我在这方面遇到了一些错误。
我有以下简单的类:

User(object)
        fullName = "John Doe"

user = User()
在PHP中,我可以执行以下操作:

$param = 'fullName';
echo $user->$param; // return John Doe
class User(object):
    fullName = "John Doe"

    def __init__(self, name):
        self.SName = name

    def print_names(self):
        print "Names: full name: '%s', name: '%s'" % (self.fullName, self.SName)

user = User('Test Name')

user.fullName # "John Doe"
user.SName # 'Test Name'
user.print_names() # will print you Names: full name: 'John Doe', name: 'Test Name'

在python中如何执行此操作?

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

user = User()
print user.fullName
>>> class User(object):
       name = 'John'

>>> u = User()
>>> u.name
'John'
如果将在运行时定义字段名称,请使用buildin
getattr
函数:

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

您可以执行以下操作:

$param = 'fullName';
echo $user->$param; // return John Doe
class User(object):
    fullName = "John Doe"

    def __init__(self, name):
        self.SName = name

    def print_names(self):
        print "Names: full name: '%s', name: '%s'" % (self.fullName, self.SName)

user = User('Test Name')

user.fullName # "John Doe"
user.SName # 'Test Name'
user.print_names() # will print you Names: full name: 'John Doe', name: 'Test Name'

例如,可以使用istance检索任何对象属性。

如果需要动态获取对象的属性,请使用函数:
getattr(用户,“全名”)
-或详细说明:

user = User()
property = "fullName"
name = getattr(user, property)
否则只需使用
user.fullName

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

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

>>> u = User()
>>> param = 'name'
>>> getattr(u, param)
'John'
否则使用点

user = User()
print user.fullName
>>> class User(object):
       name = 'John'

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

但是OP有一个字符串。不清楚您是想基于字符串动态访问
用户
对象的属性,还是根本不知道如何访问属性。请澄清(可能)相关的: