Tengo una red de multidifusión que necesita enviar continuamente datos a todos los demás usuarios. Esta información cambiará constantemente, por lo que no quiero que el programador tenga que encargarse del envío de paquetes a los usuarios. Debido a esto, estoy tratando de averiguar cómo puedo hacer referencia a cualquier objeto o variable en Python (soy nuevo en Python) para que el usuario pueda modificarlo y cambie lo que se envía en los paquetes de multidifusión.Referencias en Python
Aquí es un ejemplo de lo que quiero:
>>> test = "test"
>>> mdc = MulticastDataClient()
>>> mdc.add(test) # added into an internal list that is sent to all users
# here we can see that we are successfully receiving the data
>>> print mdc.receive()
{'192.168.1.10_0': 'test'}
# now we try to change the value of test
>>> test = "this should change"
>>> print mdc.receive()
{'192.168.1.10_0': 'test'} # want 'test' to change to -> 'this should change'
Cualquier ayuda sobre cómo puedo solucionar este problema sería muy apreciada.
ACTUALIZACIÓN:
He tratado de esta manera, así:
>>> test = [1, "test"]
>>> mdc = MulticastDataClient()
>>> mdc.add(test)
>>> mdc.receive()
{'192.168.1.10_1': 'test'}
>>> test[1] = "change!"
>>> mdc.receive()
{'192.168.1.10_1': 'change!'}
Esto ha funcionado. Sin embargo,
>>> val = "ftw!"
>>> nextTest = [4, val]
>>> mdc.add(nextTest)
>>> mdc.receive()
{'192.168.1.10_1': 'change!', '192.168.1.10_4': 'ftw!'}
>>> val = "different."
>>> mdc.receive()
{'192.168.1.10_1': 'change!', '192.168.1.10_4': 'ftw!'}
esto no funciona. ¡Necesito 'ftw!' convertirse en 'diferente' en este caso. Estoy usando cadenas para probar y estoy acostumbrado a que las cadenas sean objetos de otros idiomas. Solo editare el contenido dentro de un objeto asi que esto terminaria funcionando?
¿Qué quiere decir con "Solo editare el contenido dentro de un objeto "? –
@rshallit Entonces, si hay un objeto de posición llamado "pos", solo manipularía pos.x y pos.y, no tendría que preocuparse porque "pos" cambie su posición en la memoria. Supongo que fue redundante de mi parte publicar eso. –