¿Cómo me refiero this_prize.left
o this_prize.right
usando una variable?Acceso a un atributo mediante una variable en Python
from collections import namedtuple
import random
Prize = namedtuple("Prize", ["left", "right"])
this_prize = Prize("FirstPrize", "SecondPrize")
if random.random() > .5:
choice = "left"
else:
choice = "right"
# retrieve the value of "left" or "right" depending on the choice
print("You won", this_prize.choice)
AttributeError: 'Prize' object has no attribute 'choice'
FYI - Puede omitir la importación colecciones y sólo tiene que utilizar un diccionario para hacer la misma cosa: >>> this_prize = { "izquierda": "FirstPrize "," derecha ":" FirstPrize "} >>> this_prize [choice] > 'FirstPrize' –
Relacionado: http://stackoverflow.com/questions/1167398/python-access-class-property-from-string –