Cómo configurar el tipo de parámetros de función en Python
#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)