Cuestiones detalladas en parámetros de funciones en Python

Varias formas de escribir parámetros de funciones.

  1. Parámetros posicionales
  2. Parámetros predeterminados
  3. parámetro variable
  4. argumentos de palabras clave
  5. parámetros de palabras clave con nombre

Los cinco parámetros anteriores se pueden combinar y utilizar según la situación y las necesidades reales.
El orden de las definiciones numéricas debe ser: parámetros obligatorios, parámetros predeterminados, parámetros variables, parámetros de palabras clave con nombre y parámetros de palabras clave.

Clasificación de parámetros

  • Parámetros requeridos
  • Parámetros opcionales

parámetro variable

def calc(*numbers):
    sum = 0
    for n in numbers:
        sum = sum + n * n
    return sum

Los números son parámetros variables, se pueden pasar listas y tuplas.

argumentos de palabras clave

El contenido recibido es un diccionario
def persona(nombre, edad, **kw):
print('nombre:', nombre, 'edad:', edad, 'otro:', kw)
¿Cuál es el uso de los parámetros de palabras clave? Puede ampliar la funcionalidad de la función. Por ejemplo, en la función persona, tenemos la garantía de recibir los dos parámetros nombre y edad, pero si la persona que llama está dispuesta a proporcionar más parámetros, también podemos recibir

parámetros de palabras clave con nombre

A diferencia de los parámetros de palabras clave **kw, los parámetros de palabras clave con nombre requieren un delimitador especial ==*==, y los parámetros que siguen a * se consideran parámetros de palabras clave con nombre.

A través de una tupla y un dict, se puede llamar a la función anterior

def f1(a, b, c=0, *args, **kw):
    print('a =', a, 'b =', b, 'c =', c, 'args =', args, 'kw =', kw)

def f2(a, b, c=0, *, d, **kw):
    print('a =', a, 'b =', b, 'c =', c, 'd =', d, 'kw =', kw)

>>> f1(1, 2)
a = 1 b = 2 c = 0 args = () kw = {
    
    }
>>> f1(1, 2, c=3)
a = 1 b = 2 c = 3 args = () kw = {
    
    }
>>> f1(1, 2, 3, 'a', 'b')
a = 1 b = 2 c = 3 args = ('a', 'b') kw = {
    
    }
>>> f1(1, 2, 3, 'a', 'b', x=99)
a = 1 b = 2 c = 3 args = ('a', 'b') kw = {
    
    'x': 99}
>>> f2(1, 2, d=99, ext=None)
a = 1 b = 2 c = 0 d = 99 kw = {
    
    'ext': None}

>>> args = (1, 2, 3, 4)
>>> kw = {
    
    'd': 99, 'x': '#'}
>>> f1(*args, **kw)
a = 1 b = 2 c = 3 args = (4,) kw = {
    
    'd': 99, 'x': '#'}
>>> args = (1, 2, 3)
>>> kw = {
    
    'd': 88, 'x': '#'}
>>> f2(*args, **kw)
a = 1 b = 2 c = 3 d = 88 kw = {
    
    'x': '#'}

Supongo que te gusta

Origin blog.csdn.net/weixin_44943389/article/details/133011829
Recomendado
Clasificación