Re: [Python-es] Encender bits individuales en variable
> > A ver, dicho de otra manera, ¿De qué forma se pueden tener ctes y > variables visibles desde todo lugar.? > > al estilo de C > > #define variable 128 > > ? Tendrías que especificar mejor a qué te refieres cuando dices "todo lugar". Si lo que quieres es definir una variable y que se pueda acceder desde cualquier módulo .py de tu aplicación, no, no es posible sin hacer los debidos import. Teniendo en cuenta esto, puedes usar las variaciones y estándares de programación que te parezcan mas bonitos. Por ejemplo, si tu aplicación tiene muchos módulos (quizás mas de diez), creas un módulo aparte ctes_termo.py y allí defines las constantes B_1SHOT = 1 B_POL = 2 B_R0 = 4 etc. En el resto de los módulos, luego del import ctes_termo, las accedes como ctes_termo.B_1SHOT. Con un from ctes_termo import *, te evitas preceder los nombres de las variables con el del módulo. Si, en cambio tienes un solo módulo, las defines arriba de todo y listo. ___ Python-es mailing list [email protected] http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
[Python-es] [Fwd: Re: Encender bits individuales en variable]
--- Begin Message --- El Fri, 25 Jun 2010 18:30:26 +0200 Jesús Genicio dijo: Hola Mira esto a ver si te ayuda. http://docs.python.org/faq/programming#id9 Saludos Dr. Bobus > Hola: > > Necesito poder modificar los bits individuales de un valor determiando. > Por ejemplo > > Figure 6. CONFIGURATION REGISTER > > MSb bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 LSb > DONE THF TLF NVB R1R0POL* 1SHOT* > > He declarado las siguientes variables: > > b_1Shot= 1 > b_Pol= 2 > b_R0= 4 > b_R1= 8 > b_TLF= 32 > b_THF= 64 > byt_Configuracion= 0 > > Y enciendo los bits de la manera: > > byt_Configuracion |= b_R0 > > Y los apago: > > byt_Configuracion ^= b_R0 > > El problema es que cuando se cambia una configuración, al intentar > ejecutar el cambio me da este error "de novato claro :))" > > Traceback (most recent call last): > File "ds1631.py", line 257, in cambio_grupo_resolucion > bit_Configuracion ^= b_R0 > UnboundLocalError: local variable 'bit_Configuracion' referenced before > assignment > > En fin. > > S2 > > ___ > Python-es mailing list > [email protected] > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ -- "Besides, I think Slackware sounds better than 'Microsoft,' don't you?" (By Patrick Volkerding) signature.asc Description: PGP signature --- End Message --- ___ Python-es mailing list [email protected] http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Encender bits individuales en variable
El sáb, 26-06-2010 a las 11:35 +0200, Hernan Foffani escribió: > > > > A ver, dicho de otra manera, ¿De qué forma se pueden tener ctes y > > variables visibles desde todo lugar.? > > > > al estilo de C > > > > #define variable 128 > > > > ? > > > Tendrías que especificar mejor a qué te refieres cuando dices "todo lugar". > Si lo que quieres es definir una variable y que se pueda acceder desde > cualquier módulo .py de tu aplicación, no, no es posible sin hacer los > debidos import. Teniendo en cuenta esto, puedes usar las variaciones y > estándares de programación que te parezcan mas bonitos. > Por ejemplo, si tu aplicación tiene muchos módulos (quizás mas de diez), > creas un módulo aparte ctes_termo.py y allí defines las constantes > B_1SHOT = 1 > B_POL = 2 > B_R0 = 4 > etc. > En el resto de los módulos, luego del import ctes_termo, las accedes como > ctes_termo.B_1SHOT. Con un from ctes_termo import *, te evitas preceder los > nombres de las variables con el del módulo. > Esto es lo que yo tenía en mente, es la forma en la que lo hago habitualmente. Y no la encontraba en python. Gracias. > Si, en cambio tienes un solo módulo, las defines arriba de todo y listo. > > ___ > Python-es mailing list > [email protected] > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list [email protected] http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
