如何在 python 中显示对象属性
How to display object properties in python
在我的项目中,我必须通过将 Thrift 集成到项目中来使用不同语言的用户构建服务器和客户端。所以我决定在 python 中构建客户端。但是我对 python 知之甚少:(
谁能帮忙解决这个简单的问题
假设我有一个 class 具有这些属性:
struct Exam {
1:i64 examId,
2:string student,
3:i64 graded
}
在我的服务器规模中,我已经实现了 return 列表的代码。那么如何在我的客户端读取每次考试的学生姓名 (python)。
我试过这个:
mylist = readExam();
print(mylist) # This display correctly
#Integrate the list and get the student name
for i in mylist
print "student: " % mylist.student
据我所见,错误在第二个print
。尝试使用:
print("student: %s") i
或
print("student: " + i)
两者都应该可以正常工作。
尝试使用vars()
,它将对象的属性作为字典给出:
vars([object]) -> dictionary
Without arguments, equivalent to locals()
.
With an argument, equivalent to object.__dict__
.
示例:
>>> class MyObj(object):
... pass
>>> obj = MyObj()
>>> vars(obj)
{}
>>> obj.a = 1
>>> vars(obj)
{'a': 1}
您的问题正是您在遍历 mylist
时打印的内容。 python 中的 for 循环与 java 和其他语言中的 foreach 循环的工作方式类似: i 依次获取 mylist 中每个可迭代对象的值。 mylist
只是一个考试列表(例如,考虑数组列表)。
所以你想要:
for i in mylist:
print "student: %s" % i.student
或者,在python 3 友好代码中:
for i in mylist:
print("student: %s" % i.student)
在我的项目中,我必须通过将 Thrift 集成到项目中来使用不同语言的用户构建服务器和客户端。所以我决定在 python 中构建客户端。但是我对 python 知之甚少:(
谁能帮忙解决这个简单的问题
假设我有一个 class 具有这些属性:
struct Exam {
1:i64 examId,
2:string student,
3:i64 graded
}
在我的服务器规模中,我已经实现了 return 列表的代码。那么如何在我的客户端读取每次考试的学生姓名 (python)。
我试过这个:
mylist = readExam();
print(mylist) # This display correctly
#Integrate the list and get the student name
for i in mylist
print "student: " % mylist.student
据我所见,错误在第二个print
。尝试使用:
print("student: %s") i
或
print("student: " + i)
两者都应该可以正常工作。
尝试使用vars()
,它将对象的属性作为字典给出:
vars([object]) -> dictionary
Without arguments, equivalent to
locals()
.
With an argument, equivalent toobject.__dict__
.
示例:
>>> class MyObj(object):
... pass
>>> obj = MyObj()
>>> vars(obj)
{}
>>> obj.a = 1
>>> vars(obj)
{'a': 1}
您的问题正是您在遍历 mylist
时打印的内容。 python 中的 for 循环与 java 和其他语言中的 foreach 循环的工作方式类似: i 依次获取 mylist 中每个可迭代对象的值。 mylist
只是一个考试列表(例如,考虑数组列表)。
所以你想要:
for i in mylist:
print "student: %s" % i.student
或者,在python 3 友好代码中:
for i in mylist:
print("student: %s" % i.student)