Once, base de pitón: Uso de la función de varios parámetros

Once, base de pitón: Uso de la función de varios parámetros

1. ¿Por qué tener los parámetros de la función?

Hemos empaquetado como una función de la finalidad es para que sea reutilizable, si desea que su función para adaptarse a más casos, vamos a dejar de lado los parámetros a una función que permite a los propios parámetros de entrada del usuario, el procesamiento de los requisitos en diferentes condiciones .

2. ¿Qué tipos de parámetros de la función?

En Python, en función de los parámetros se puede dividir en las siguientes categorías:
parámetros de posición, parámetros de palabras clave, el parámetro por defecto, multi-valor del parámetro

2.1 parámetros de ubicación,

def get_info(name, age, height):
    print(name)
    print(age, height)

Esta función anterior get_info Hay tres parámetros: nombre, edad, altura.

No son parámetros posicionales, dependiendo de la hora de llamar, es cómo pasar el Senado.

Por ejemplo:
Cuando nos fijamos en la convocatoria, de acuerdo con los parámetros de posición para pasar argumento es una especie de cómo

def get_info(name, age, height):
    print(name)
    print(age, height)
    
get_info('小明', 12, 180)    # 正确调用方式
get_info(12, '小明', 180)    # 错误调用方式,位置错了
get_info('小明', 12)     # 错误调用方式,参数缺少了

Los parámetros posicionales Nota:
1, de acuerdo con los parámetros posicionales cuando se pasa al Senado, la atención se debe pagar a la ubicación incorrecta puede no de otra manera la función para obtener los datos no es correcta.
2, el número de parámetros posicionales es ni más ni menos, hay 3 parámetros de posición función definida, llamar a la función de tiempo, se debe pasar tres parámetros.
3, la definición de una función, no importa cómo muchos tipos de parámetros, los parámetros posicionales son siempre ponen frente a otros tipos de parámetros.

2.2, argumentos de palabra clave

Si no desea que el fin de posicionar el paso de parámetros de función, puede utilizar argumentos de palabra clave pasado parámetros.

def get_info(name, age, height):
    print(name)
    print(age, height)
    
get_info(age=12, name='小明', height=180)

De acuerdo con esta forma de participación de las masas de los pares de valores clave, incluso si pides el lugar equivocado, no importa, siempre y cuando las palabras clave escritas en la línea, vistazo a la implementación de los resultados:
Aquí Insertar imagen Descripción

2.3, los parámetros por defecto (parámetros por defecto)

El parámetro por defecto también se llama los parámetros por defecto, es decir, cuando se pasan parámetros, no se puede pasar este parámetro, la función en sí será establecer un valor predeterminado para él, no pasa parámetros a los valores por defecto.

Un parámetro no son los parámetros por defecto, no en la forma de pasar parámetros cuando se llama, sino que depende de la definición, no existen parámetros a los valores por defecto.

Cambiamos un poco por encima de la función, en esto más adelante, a la altura de un valor predeterminado de 180, cuando se llama a ella, podemos pasar parámetros, no se puede pasar, mirada a los resultados

def get_info(name, age, height=180):
    print(name)
    print(age, height)
    
get_info(age=12, name='小明')
get_info(age=12, name='xiaoming', height=170)

Aquí Insertar imagen Descripción
O salida normal, cuando se llama a si hay un parámetros por defecto para pasar parámetros, utiliza los parámetros que acontecerá, si no es así, el valor predeterminado se establece cuando la definición original.

Nota: El parámetro por defecto debe ser después de los parámetros de posición, le mostramos, para envejecer un valor por defecto, en el medio, para ver lo que funciona.

def get_info(name, age=12, height):
    print(name)
    print(age, height)
    
get_info(12, 170)

La entrega de los resultados:
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción

2.4, multiparamétrico

A veces, cuando definimos funciones, lo que permite a los usuarios transferir muchos parámetros, pero el número de parámetros es incierto, esta vez se puede utilizar un parámetro de varios valores.

Hay dos tipos de representación de múltiples parámetros, que corresponden a diferentes tipos de transmisión de datos:

* args representa la recepción de una tupla, la tupla de longitud no se limita;
kwargs ** representa la recepción de un diccionario, el diccionario no está limitado en longitud;

def get_info(name, age, *args, **kwargs):
    print(name, age)
    print(*args)
    print(**kwargs)
    
t = (123, 345)
d = {'phone': '156XXX'}
get_info('小明', 12, t, d)

Vistazo a los resultados:
Aquí Insertar imagen Descripción
los resultados son aparentemente hicieron mal, a la derecha.
Pero, de hecho, es un problema! ! !
Mirada en su salida, es evidente que estableció tres print (), imprimir el resultado debería ser tres líneas en una función, pero ¿por qué sólo se emiten los resultados de dos líneas? Pero no se imprime el contenido que faltan, todas las salidas.

Hay poca atención necesidad especial debido al problema causado por el anterior, es el intérprete se pasan dos parámetros tyd se recogen en el interior args *, ** kwargs pero no lo hizo parámetros de cobro, por lo tanto, fuera de impresión solamente 2 líneas.

Solución:
Cuando el paso de parámetros, respectivamente, a dos parámetros más símbolos * y ** Otro punto a tener en cuenta es que la letra impresa (** kwargs), quería cambiar de impresión (kwargs) o print (* kwargs) , de lo contrario será error.

def get_info(name, age, *args, **kwargs):
    print(name, age)
    print(*args)
    print(*kwargs)
    
t = (123, 345)
d = {'phone': '1560000'}
get_info('小明', 12, *t, **d)

Vistazo a la salida:
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
en función de los parámetros de asesoramiento:
prestar atención a que es mejor no utilizar un tipo de variable del contenedor de datos, como el parámetro predeterminado, que es una lista de estos diccionarios, aunque no se quejan como los parámetros por defecto, pero a veces puede causar alguna extraña cuestión.

El problema que tengo otro artículo en concreto dijo:

Pitón en boxes: Usar la lista vacía como parámetro por defecto, por lo que duda se encontró con un sobrenaturales códigos

Publicado 51 artículos originales · ganado elogios 76 · vistas 9098

Supongo que te gusta

Origin blog.csdn.net/Jacky_kplin/article/details/104810354
Recomendado
Clasificación