Red de conocimientos sobre prescripción popular - Remedios caseros - Cómo configurar el tipo de parámetros de función en Python

Cómo configurar el tipo de parámetros de función en Python

#Python 2.5

#Esto se puede hacer mediante decoración de interiores

#Sin embargo, los tipos de parámetros generalmente no están restringidos.

#Te doy una idea:

def arg filter(*tipo):

def deco(función):

#Esto Es un modificador

def newfunc(*args):

#Nueva función

if len(types)==len(args):

correcto = correcto

Para I(len(args)) en el rango:

Si no es instancia(args[i], tipos[i]):

#Tipo de juez

Correcto=Error

Si es correcto:

Función de retorno (*parámetro)

#Devolver función original valor

De lo contrario:

Error de tipo de promoción

De lo contrario:

Error de tipo de promoción

Devolver nuevafunc

#El decorador devuelve una nueva función

Devuelve la decoración

#Devuelve una función de decoración

@argfilter(int, str)

#Especificar tipo de parámetro

Definir función (I, s):

#Definir función modificada

Imprimir tarjeta de identificación

#Después de eso, si desea restringir el tipo, simplemente así:

#@argfilter(el nombre de clase del primer parámetro, el nombre de clase del segundo parámetro,... el enésimo parámetro Nombre de clase)

#def yourfunc(primer parámetro, primer parámetro,... enésimo parámetro):

#

...

#

#Equivalente a:

#def yourfunc(primer parámetro, primer parámetro,... enésimo parámetro):

#

...

#yourfunc = argfilter(nombre de clase del primer parámetro, nombre de clase del segundo parámetro,..., nombre de clase del enésimo parámetro)(yourfunc)