Código de Python - Llamar a una funcion desde una variable con parametros

Imágen de perfil
Val: 666
Bronce
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

Llamar a una funcion desde una variable con parametrosgráfica de visualizaciones


Python

Actualizado el 11 de Marzo del 2020 por Xavi (548 códigos) (Publicado el 26 de Junio del 2009)
14.509 visualizaciones desde el 26 de Junio del 2009
Código que muestra como ejecutar una función utilizando como variables el nombre de la función y los parámetros de la misma.

1
2
python programa.py funcion1 valor
python programa.py funcion2 valor1 valor2

Versión 1 - Python 2.x

Actualizado el 11 de Marzo del 2020 (Publicado el 26 de Junio del 2009)gráfica de visualizaciones de la versión: Versión 1 - Python 2.x
11.513 visualizaciones desde el 26 de Junio del 2009

Versión 2 - Python 3.x

Publicado el 11 de Marzo del 2020gráfica de visualizaciones de la versión: Versión 2 - Python 3.x
2.997 visualizaciones desde el 11 de Marzo del 2020
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
"""
Llamar a una función desde una variable con parámetros
La forma de llamarlo es:
    python programa.py funcion1 valor
    python programa.py funcion2 valor1 valor2
"""
 
import os
 
class className(object):
 
    def function1(self,valor):
        return "el valor recibido es: %s" % valor
 
    def function2(self,valor1,valor2):
        return "el primer valor recibido es: %s, y el segundo es: %s" % (valor1,valor2)
 
if __name__=="__main__":
    # os.sys.argv contiene los valores recibidos
    # El primer valor es el nombre del archivo python, el segundo es el nombre
    # de la función a la que llamar, por eso no hace nada si no recibe por lo
    # menos 2 parámetros.
    # Los siguiente parámetros, serán los valores de las funciones.
    #   python programa.py funcion1 valor
    #   python programa.py funcion2 valor1 valor2
 
    # Creamos un objeto de la clase
    obj=className()
    # Si obtenemos mas de dos parámetros
    if len(os.sys.argv)>=2:
        # Si el segundo parámetro es el nombre de una función conocida
        # dir(obj) devuelve una lista con todas las atributos del objeto
        if os.sys.argv[1] in dir(obj):
            try:
                # Llamamos a la función indicada pasando los parámetros recibidos
                print (getattr(obj, os.sys.argv[1])(*os.sys.argv[2:]))
            except TypeError:
                print ("Error en los parametros")
        else:
            print ("No existe la función")



Comentarios sobre la versión: Versión 2 - Python 3.x (0)


No hay comentarios
 

Comentar la versión: Versión 2 - Python 3.x

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s1823