[Python-es] namespaces y variables globales
Alvaro Manrique
sanreikaj.foros en gmail.com
Mie Nov 3 22:53:08 CET 2010
Perdon por el error
La orden ....
El orden ....
El 03/11/10, Alvaro Manrique <sanreikaj.foros en gmail.com> escribió:
> Buenas Tardes,
>
> Al igual me encontre con los mismos inconvenientes al empezar la
> programacion y querer usar variables locales y globales, el resultado de
> las
> lecturas que realicé y algunas preguntas hechas fue el siguiente
>
> La orden en la busqueda de las variables para sabes en que namespace
> esta
> es:
>
> - Funcion
> - Modulo
> - Modulos importados (no recuerdo como se llama este namespace)
>
> En el programa que realice lo que hice fue que las variables que
> necesito
> como global las declaro al inicio del modulo, es decir, antes de cualquier
> funcion.
> Luego dentro de la funcion a usar la variable la declaron como global,
> le asigno los valores que necesito y con eso ya la tengo disponible con
> dichos valores para el resto del modulo.
>
> Seria algo asi:
>
> a=""
>
> def funcion_a()
>
> global a
>
> a="valor a asignar"
>
> De esta manera si desde otra funcion hago un "print a", el resultado
> va a ser "valor a asignar".
>
> Espero ayude en algo esta info.
>
> 2010/11/3 Manuel E. Gutierrez <megutierrez en uci.cu>
>
>>
>> Y que tal esto:
>>
>>
>> #!/usr/bin/env python
>> #-*- coding: utf-8 -*-
>> from optparse import OptionParser
>>
>> class ClaseGlobal(object):
>> a = 0
>>
>> def test_func():
>> print ClaseGlobal.a + 2
>>
>> def main():
>> parser = OptionParser()
>> parser.add_option('-t','--run_test', action='store_true', dest='run',
>> \
>> help='Run test',default=False)
>> parser.add_option('-n', '--number', help='Number', dest='number', \
>> action='store', type='int', default=None)
>> options, args = parser.parse_args()
>>
>> if not options.number:
>> ClaseGlobal.a = 1
>> else:
>> ClaseGlobal.a = options.number
>>
>> if options.run:
>> #global a
>> test_func()
>>
>> if __name__ == '__main__':
>> main()
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>
--
Enviado desde mi dispositivo móvil
Más información sobre la lista de distribución Python-es