我的問題如下:我有一個類Taskpane與幾個方法。實例化按其應有的方式工作。現在,當我顯示所有實例化對象的列表時,我想打印出每個對象的成員變量,例如_tp_nr。Python類實例返回值
以下代碼返回正確的值,但它以奇怪的(?)格式返回。
這是代碼:
#import weakref
class Taskpane():
'''Taskpane class to hold all catalog taskpanes '''
#'private' variables
_tp_nr = ''
_tp_title = ''
_tp_component_name = ''
#Static list for class instantiations
_instances = []
#Constructor
def __init__(self,
nr,
title,
component_name):
self._tp_nr = nr,
self._tp_title = title,
self._tp_component_name = component_name
#self.__class__._instances.append(weakref.proxy(self))
self._instances.append(self)
def __str__(self):
return str(self._tp_nr)
def setTaskpaneId(self, value):
self._tp_nr = value
def getTaskpaneId(self):
return str(self._tp_nr)
def setTaskpaneTitle(self, value):
self._tp_title = value
def getTaskpaneTitle(self):
return str(self._tp_title)
def setTaskpaneComponentName(self, value):
self._tp_component_name = value
def getTaskpaneComponentName(self):
return self._tp_component_name
tp1 = Taskpane('0', 'Title0', 'Component0')
tp2 = Taskpane('1', 'Title1', 'Component1')
#print Taskpane._instances
#print tp1
for instance in Taskpane._instances:
print(instance.getTaskpaneId())
for instance in Taskpane._instances:
print(instance.getTaskpaneTitle())
結果:
('0',)
('1',)
('Title0',)
('Title1',)
的問題是:爲什麼 它返回在這種格式的結果嗎?我希望只看到:
'0'
'1'
('Title0')
('Title1')
使用:
for instance in Taskpane._instances:
print(instance._tp_nr)
的結果是一樣的。
你只有一些語法問題,所以你的回答不會幫助別人(因此我downvote)。 – Alfe
@Alfe除了知道這可能是一個問題... – glglgl
是的,但是在任何情況下都是隨機發現。如果標題像「爲什麼不用這些尾隨逗號工作」,一切都會好起來的。 – Alfe