Meta tags:
description= Aprende cómo *args y **kwargs permiten que las funciones de Python acepten cualquier número de argumentos posicionales y de palabra clave, con ejemplos reales.;
Headings (most frequently used words):
de, args, kwargs, argumentos, con, desempaquetar, la, qué, es, combinar, orden, firma, parámetros, tupla, un, en, python, solo, palabra, clave, después, reenviar, otra, función, completo, anotaciones, tipo, errores, comunes, resumen, práctica, regulares, cuándo, usar, una, lista, diccionario, incorrecto, mutar, sombrear, el, nombre, parámetro, requerido, abusar, lugar, explícitos,
Text of the page (most frequently used words):
#python (73), args (59), #kwargs (38), los (29), argumentos (28), una (23), con (21), clave (20), que (20), print (20), palabra (19), función (16), aprender (15), def (15), copiar (14), matplotlib (14), para (13), mysql (13), solo (12), tupla (12), mongodb (12), elementos (11), posicionales (10), desempaquetar (9), funciones (9), lista (9), parámetros (9), nombre (9), add_all (9), diccionario (9), html (8), variables (8), name (8), tuplas (8), listas (8), tipo (7), orden (7), adicionales (7), parámetro (7), posicional (7), return (7), port (7), qué (6), extra (6), las (6), items (6), for (6), base (6), escribir (6), debug (6), eliminar (6), métodos (6), datos (6), w3docs (5), todos (5), firma (5), cuando (5), value (5), key (5), son (5), sin (5), metadata (5), tags (5), event (5), archivos (5), string (5), strings (5), crear (5), primeros (5), pasos (5), tutorial (5), formatter (5), color (5), json (4), generator (4), práctica (4), comunes (4), otra (4), después (4), decoradores (4), function (4), any (4), consulta (4), cómo (4), nombres (4), ámbito (4), llamada (4), recoge (4), argumento (4), por (4), cualquier (4), float (4), bob (4), describe (4), puedes (4), más (4), normal (4), host (4), alice (4), names (4), hello (4), recorrer (4), total (4), regresión (4), diccionarios (4), acceder (4), code (3), encoder (3), editor (3), herramientas (3), cuestionarios (3), ejercicios (3), php (3), javascript (3), css (3), ejemplos (3), errores (3), completo (3), reenviar (3), combinar (3), sugerencias (3), when (3), calling (3), the (3), arguments (3), dict (3), dentro (3), sintaxis (3), opciones (3), usa (3), conjunto (3), pueden (3), syntaxerror (3), cada (3), valores (3), esto (3), kw_only (3), este (3), tipos (3), variable (3), true (3), forma (3), 8080 (3), agregar (3), params (3), exp (3), multiply (3), nums (3), captura (3), aceptar (3), greet (3), greeting (3), cadenas (3), unir (3), ver (3), tools (3), italiano (2), português (2), español (2), français (2), русский (2), deutsch (2), english (2), beautifier (2), diff (2), password (2), try (2), java (2), git (2), libros (2), fragmentos (2), resumen (2), anotaciones (2), this (2), page (2), list (2), positional (2), pass (2), collects (2), into (2), tuple (2), what (2), does (2), used (2), definition (2), lambda (2), func (2), análisis (2), estático (2), explícitos (2), abierto (2), también (2), indicadores (2), opcionales (2), requerido (2), double_all (2), necesitas (2), modificar (2), primero (2), antes (2), significa (2), elemento (2), mientras (2), flexibilidad (2), tiempo (2), ejecución (2), score (2), sum (2), código (2), cinco (2), full_sig (2), pos1 (2), pos2 (2), patrón (2), estándar (2), with (2), wrapper (2), uno (2), saber (2), cuáles (2), todo (2), arg1 (2), localhost (2), configure (2), puede (2), esta (2), del (2), configuración (2), power (2), sobre (2), operadores (2), funcionan (2), primer (2), user_id (2), 127 (2), auth (2), user (2), login (2), log_event (2), ilimitados (2), cuándo (2), buscar (2), claves (2), city (2), new (2), york (2), age (2), dos (2), convención (2), válido (2), vacía (2), simplemente (2), error (2), charlie (2), regulares (2), permiten (2), número (2), and (2), handling (2), números (2), clases (2), limit (2), colección (2), delete (2), ordenar (2), cuadrícula (2), dispersión (2), distribución (2), introducción (2), bucles (2), conjuntos (2), set (2), sets (2), cambiar (2), hash (2), 2026, derechos, reservados, hecho, desarrolladores, idioma, política, privacidad, contacto, acerca, empresa, tutoriales, gratuitos, web, desde, 2014, next, previous, yes, was, helpful, comprobar, unpacks, allows, accept, number, forces, callers, least, one, argument, keyword, dictionary, temas, estrechamente, relacionados, conceptos, básicos, anónimas, resuelve, mapping, mapeo, seq, secuencia, característica, oculta, realmente, acepta, dificultando, autocompletado, prefiere, genuinamente, admite, verdaderamente, reenvías, abusar, lugar, usas, tienes, mismo, llamadores, confundirse, mantén, distintos, sombrear, mutable, copy, tanto, inmutable, conviértelos, mutar, good, correct, bad, wrong, raises, poner, incorrecto, espera, sea, ser, cosa, mantiene, satisfechas, preserva, none, import, typing, from, anotar, anotación, aplica, individual, cotidiano, raramente, vez, patrones, seguido, romper, produce, así, flag, ejemplo, posición, impone, regla, ordenamiento, estricta, aparece, toda, biblioteca, superior, usos, prácticos, pasen, interna, esos, envoltorios, explicación, detallada, reglas, establecerse, porque, consume, desbordamiento, común, api, bibliotecas, usuarios, deben, explícitamente, hace, sitios, sean, autodocumentados, false, listado, pasarse, convierte, limpia, ambigüedad, asigna, correspondiente, útil, almacenan, construido, desempaqueta, modo, equivalente, información, operador, desempaquetado, lado, secuencias, mapeos, separados, definiciones, toma, restantes, defecto, normales, sola, quieres, construir, partir, legible, evita, repetitivo, estás, escribiendo, envoltorio, debe, necesita, flexible, metadatos, atributos, destaca, usar, ordinario, recorrerlo, pasarlo, llamador, decide, proporcionar, ninguna, está, fijada, definición, str, asteriscos, indican, recoja, nuevamente, identificador, funciona, rellena, recibe, resto, como, llamas, bucle, ejecuta, van, sigue, ordinaria, indexar, pasar, otras, llamar, cero, 100, antepones, asterisco, simple, pasados, enlazada, ese, podrías, pero, universalmente, comprendido, values, numbers, página, cubre, ambas, características, profundidad, usarlas, combinarlas, debes, evitar, especiales, juntos, ofrecen, funcionen, cien, aprende, acepten, reales, peticiones, http, pytest, paquetes, entornos, virtuales, tooling, best, practices, threading, asyncio, concurrency, csv, random, sys, itertools, collections, lanzar, excepciones, standard, library, sumar, invertir, duplicados, how, enumeraciones, abstractas, encapsulamiento, polimorfismo, dataclasses, static, classmethod, property, mágicos, advanced, oop, sentencia, match, enumerate, zip, map, comprensiones, gestores, contexto, recursión, closures, generadores, intermediate, actualización, find, insertar, join, update, drop, table, order, where, select, insert, tabla, vecinos, cercanos, curva, auc, roc, validación, cruzada, agregación, bootstrap, means, categóricos, búsqueda, logística, agrupamiento, jerárquico, matriz, confusión, árbol, decisión, train, test, escalar, múltiple, polinomial, lineal, diagrama, percentil, desviación, media, mediana, moda, machine, learning, gráficos, pastel, histogramas, barras, subplot, etiquetas, líneas, marcadores, trazado, pyplot, django, scipy, pandas, numpy, modules, leer, manejo, file, formateo, entrada, usuario, except, pip, regex, matemáticas, fechas, módulos, iteradores, herencia, objetos, arrays, while, else, booleanos, casting, comentarios, actualizar, segmentación, home, salida, anidados, iterar, comprensión, globales, formato, caracteres, escape, concatenar, asignar, múltiples, añadir, iniciar, sesión, formatters, url, reverse, sha256, md5, length, calculator, colors, hsl, hex, mixer, converter, picker, general, cursos, explicados,
Text of the page (random words):
python args y kwargs explicados con ejemplos w3docs w3docs libros aprender html aprender css aprender javascript aprender git aprender java aprender php aprender python cursos cuestionarios ejercicios fragmentos herramientas general tools html editor password generator html encoder code diff json beautifier ver los 13 color tools color picker color converter color mixer color hex colors hsl ver los 10 string tools string length calculator md5 hash generator sha256 hash generator string reverse url encoder ver los 19 code formatters javascript formatter css formatter html formatter json formatter php formatter buscar en w3docs k es english en deutsch de русский ru français fr español es português pt italiano it iniciar sesión aprender python python tutorial acceder a elementos acceder a elementos de lista acceder a elementos de un set acceder a tuplas agregar elementos añadir elementos a una lista agregar elementos a un conjunto asignar múltiples valores cambiar elementos cambiar elementos de una lista concatenar strings copiar diccionarios copiar listas métodos de diccionario caracteres de escape cadenas de formato variables globales unir listas unir sets unir tuplas comprensión de listas métodos de lista iterar sobre diccionarios recorrer listas recorrer sets recorrer tuplas modificar strings diccionarios anidados variables de salida python home listas de python conjuntos en python python strings tuplas en python variables en python eliminar elementos eliminar elementos de una lista eliminar elementos de un set métodos de conjuntos segmentación de cadenas ordenar listas métodos de string métodos de tupla desempaquetar tuplas actualizar tuplas nombres de variables introducción a python primeros pasos con python sintaxis de python comentarios en python variables en python tipos de datos en python números en python casting en python strings de python booleanos en python operadores de python listas de python tuplas de python diccionarios en python python if else bucles while en python bucles for en python funciones en python python lambda arrays en python clases y objetos en python herencia en python iteradores de python ámbito en python módulos de python fechas en python matemáticas en python python json python regex python pip python try except entrada de usuario en python formateo de cadenas en python file handling manejo de archivos en python leer archivos en python escribir crear archivos en python eliminar archivos en python python modules tutorial de numpy tutorial de pandas tutorial de scipy tutorial de django python matplotlib introducción a matplotlib primeros pasos con matplotlib matplotlib pyplot trazado con matplotlib marcadores de matplotlib líneas en matplotlib etiquetas en matplotlib cuadrícula de matplotlib subplot de matplotlib dispersión en matplotlib barras en matplotlib histogramas con matplotlib gráficos de pastel con matplotlib machine learning primeros pasos media mediana moda desviación estándar percentil distribución de datos distribución normal de datos diagrama de dispersión regresión lineal regresión polinomial regresión múltiple escalar train test árbol de decisión matriz de confusión agrupamiento jerárquico regresión logística búsqueda en cuadrícula datos categóricos k means agregación bootstrap validación cruzada curva auc roc k vecinos más cercanos python mysql primeros pasos con mysql mysql crear base de datos mysql crear tabla mysql insert mysql select mysql where mysql order by mysql delete mysql drop table mysql update mysql limit mysql join python mongodb primeros pasos con mongodb crear base de datos mongodb mongodb crear colección insertar en mongodb mongodb find consulta mongodb ordenar en mongodb mongodb delete eliminar colección en mongodb actualización en mongodb mongodb limit intermediate python f strings sugerencias de tipo args kwargs decoradores generadores closures recursión gestores de contexto comprensiones enumerate zip map sentencia match advanced oop métodos mágicos property static y classmethod dataclasses polimorfismo encapsulamiento clases abstractas enumeraciones python how to eliminar duplicados en listas invertir un string sumar dos números error handling and the standard library lanzar excepciones collections itertools os sys random archivos csv concurrency in python asyncio threading python tooling and best practices entornos virtuales paquetes pytest peticiones http python args y kwargs aprende cómo args y kwargs permiten que las funciones de python acepten cualquier número de argumentos posicionales y de palabra clave con ejemplos reales args y kwargs son sintaxis especiales en python que permiten a una función aceptar un número variable de argumentos args recoge los argumentos posicionales adicionales en una tupla mientras que kwargs recoge los argumentos de palabra clave adicionales en un diccionario juntos ofrecen total flexibilidad puedes escribir funciones que funcionen con uno o cien argumentos esta página cubre ambas características en profundidad cómo funcionan cuándo usarlas cómo combinarlas y los errores comunes que debes evitar qué es args cuando antepones un asterisco simple al nombre de un parámetro python recoge todos los argumentos posicionales adicionales pasados a la función en una tupla enlazada a ese nombre de parámetro el nombre args es una convención podrías escribir numbers o values pero args es universalmente comprendido def add_all args total 0 for n in args total n return total print add_all 1 2 3 6 print add_all 10 20 30 40 100 print add_all 0 copiar dentro de la función args es una tupla ordinaria que puedes recorrer indexar o pasar a otras funciones llamar a add_all con cero argumentos es válido args es simplemente una tupla vacía combinar parámetros regulares con args los parámetros regulares posicionales van primero args captura todo lo que sigue def greet greeting names for name in names print greeting name greet hello alice bob charlie hello alice hello bob hello charlie copiar greeting se rellena con el primer argumento names recibe el resto como una tupla si llamas a greet hi sin nombres adicionales names es una tupla vacía y el bucle simplemente no se ejecuta sin error qué es kwargs dos asteriscos antes del nombre de un parámetro le indican a python que recoja todos los argumentos de palabra clave adicionales en un diccionario nuevamente kwargs es una convención cualquier identificador python válido funciona def describe kwargs for key value in kwargs items print key str value describe name alice age 30 city new york name alice age 30 city new york copiar dentro de la función kwargs es un diccionario ordinario puedes recorrerlo buscar claves o pasarlo el llamador decide qué claves proporcionar ninguna está fijada por la definición de la función cuándo usar kwargs kwargs destaca cuando una función necesita aceptar un conjunto flexible y abierto de opciones con nombre configuración metadatos atributos html estás escribiendo un envoltorio que debe reenviar argumentos de palabra clave a otra función sin saber cuáles son quieres construir un diccionario a partir de argumentos de palabra clave de forma legible evita el código repetitivo de dict key value combinar args y kwargs una sola función puede aceptar argumentos posicionales ilimitados y argumentos de palabra clave ilimitados el orden requerido en la firma es parámetros posicionales normales args parámetros de solo palabra clave con valores por defecto kwargs def log_event event tags metadata print event event print tags tags print metadata metadata log_event login auth user user_id 42 ip 127 0 0 1 event login tags auth user metadata user_id 42 ip 127 0 0 1 copiar event toma el primer argumento posicional tags captura los argumentos posicionales restantes metadata captura todos los argumentos de palabra clave desempaquetar argumentos con y los operadores y no son solo para definiciones de funciones también funcionan en el lado de la llamada para desempaquetar secuencias y mapeos en argumentos separados desempaquetar una lista o tupla con def multiply a b c return a b c nums 2 3 4 print multiply nums 24 copiar nums desempaqueta la lista de modo que a 2 b 3 c 4 esto es equivalente a escribir multiply 2 3 4 consulta desempaquetar tuplas para más información sobre el operador de desempaquetado desempaquetar un diccionario con def power base exp return base exp params base 3 exp 4 print power params 81 copiar params asigna cada clave del diccionario al nombre de parámetro correspondiente esto es útil cuando los argumentos se almacenan en un diccionario de configuración construido en tiempo de ejecución argumentos de solo palabra clave después de args cualquier parámetro listado después de args en la firma solo puede pasarse por nombre se convierte en un argumento de solo palabra clave esta es una forma limpia de agregar indicadores opcionales sin ambigüedad def configure host args port 80 debug false print host host print extra args print port port print debug debug configure localhost arg1 port 8080 debug true host localhost extra arg1 port 8080 debug true copiar port y debug no pueden establecerse de forma posicional porque args ya consume todo el desbordamiento posicional este patrón es común en las api de bibliotecas los usuarios deben escribir port 8080 explícitamente lo que hace que los sitios de llamada sean autodocumentados para una explicación detallada de las reglas de ámbito de python consulta ámbito en python reenviar argumentos a otra función uno de los usos más prácticos de args kwargs es escribir envoltorios y decoradores que pasen argumentos a una función interna sin saber cuáles son esos argumentos def add_all args return sum args def wrapper args kwargs print calling with args args kwargs kwargs return add_all args print wrapper 1 2 3 calling with args 1 2 3 kwargs 6 copiar este patrón aparece en toda la biblioteca estándar de python y es la base de los decoradores y las funciones de orden superior orden completo de la firma python impone una regla de ordenamiento estricta para todos los tipos de parámetros el orden completo es posición tipo ejemplo 1 solo posicional python 3 8 a b 2 posicional o de palabra clave normal x y 3 posicional variable args 4 solo palabra clave flag true 5 palabra clave variable kwargs romper este orden produce un syntaxerror una función que usa los cinco tipos se ve así def full_sig pos1 pos2 normal args kw_only kwargs print pos1 pos2 normal args kw_only kwargs full_sig 1 2 3 4 5 kw_only k extra e 1 2 3 4 5 k extra e copiar en el código cotidiano raramente necesitas los cinco a la vez los patrones más comunes son args solo kwargs solo o args seguido de kwargs anotaciones de tipo puedes anotar args y kwargs con sugerencias de tipo la anotación se aplica a cada elemento individual no a la tupla o diccionario en sí from typing import any def add_all args float float return sum args def describe kwargs any none for key value in kwargs items print f key value print add_all 1 5 2 5 3 0 7 0 describe name bob score 99 name bob score 99 copiar args float significa que se espera que cada elemento de args sea un float kwargs any significa que los valores pueden ser cualquier cosa esto mantiene satisfechas a las herramientas de análisis estático mientras se preserva la flexibilidad en tiempo de ejecución errores comunes 1 orden incorrecto de argumentos en la firma poner kwargs antes de args es un syntaxerror wrong raises syntaxerror def bad name kwargs args correct def good name args kwargs pass copiar 2 mutar la tupla args args es una tupla y por lo tanto es inmutable si necesitas modificar los argumentos conviértelos primero a una lista def double_all args items list args mutable copy items x 2 for x in items return items print double_all 1 2 3 2 4 6 copiar 3 sombrear el nombre de un parámetro requerido si usas args y también tienes un argumento de palabra clave con el mismo nombre que un parámetro posicional los llamadores pueden confundirse mantén los nombres de parámetros distintos y usa parámetros de solo palabra clave después de args para los indicadores opcionales 4 abusar de kwargs en lugar de parámetros explícitos kwargs oculta lo que una función realmente acepta dificultando el autocompletado y el análisis estático prefiere parámetros explícitos para las opciones que tu función genuinamente admite usa kwargs solo cuando el conjunto de opciones es verdaderamente abierto o cuando reenvías a otra función resumen característica sintaxis qué recoge tipo dentro de la función args posicionales variables args argumentos posicionales adicionales tuple args de palabra clave variables kwargs argumentos de palabra clave adicionales dict desempaquetar secuencia en la llamada func seq lista tupla args posicionales desempaquetar mapeo en la llamada func mapping dict args de palabra clave para temas estrechamente relacionados consulta funciones de python para los conceptos básicos de funciones python lambda para funciones anónimas y ámbito en python para cómo python resuelve los nombres de variables práctica práctica in python what does args do when used in a function definition in python what does args do when used in a function definition it collects extra positional arguments into a tuple it collects extra keyword arguments into a dictionary it forces callers to pass at least one argument it allows the function to accept any number of positional arguments it unpacks a list when calling the function comprobar was this page helpful yes no previous sugerencias de tipo next decoradores on this page qué es args qué es kwargs combinar args y kwargs desempaquetar argumentos con y argumentos de solo palabra clave después de args reenviar argumentos a otra función orden completo de la firma anotaciones de tipo errores comunes resumen práctica w3docs tutoriales ejemplos ejercicios fragmentos y cuestionarios gratuitos para la web desde 2014 libros aprender html aprender css aprender javascript aprender git aprender java aprender php aprender python práctica ejercicios cuestionarios editor try it herramientas html editor password generator html encoder code diff json beautifier empresa acerca de contacto política de privacidad idioma english deutsch русский français español português italiano 2026 w3docs todos los derechos reservados hecho para desarrolladores
|