Correspondance string - nom de variable - Python - Programmation
Marsh Posté le 05-07-2004 à 12:42:32
Regarde getattr(object, name), tu lui donnes 1 ref sur un objet et 1 string et ca te donne le membre "name" de l'objet "object"
genre la, tu demandes getattr(self, "tcpList" ) et il te rend self.tcpList.
Par contre il me semble qu'il rend une copie, pas la reference
Marsh Posté le 05-07-2004 à 12:48:45
Masklinn a écrit : Regarde getattr(object, name), tu lui donnes 1 ref sur un objet et 1 string et ca te donne le membre "name" de l'objet "object" |
Il renvoie la valeur qu'il y a dans l'attribut bien sur. Si l'objet est mutable tu peux le modifier et sinon il faut passer par setattr.
Marsh Posté le 05-07-2004 à 11:56:18
Bonjour,
j'aimerais récupérer un nom de variable à partir d'une string
class CoreNodeManager:
def __init__(self, rootnode):
self.coreList = []
self.infosList = ['name', 'ip', 'hostname', 'port-listen', \
'location', 'load']
self.detailsList = ['creator', 'creation-date']
self.connectedtoList = []
self.tcpList = ['coreid']
self.udpList = ['coreid']
# END __init__
def handleAddOperation(self, path, type, **dict):
attributeList = 'self.' + str(type) + 'List'
for attribute in attributeList:
...
pour le moment ces lignes ne font pas ce que je veux, car elles effectuent un parcours de la chaine 's e l f .' etc...
"attributeList = 'self.' + str(type) + 'List'
for attribute in attributeList:"
je voudrais récupérer une des listes déclarées dans l'init
est-il possible de tirer parti des conventions de nommage des listes en utilisant une concaténation?