Detailed explanation of Python's *args and **kwargs
*args represents any multiple unnamed parameters, which is a tuple; **kwargs represents keyword parameters, which is a dict.
1 2 3 4 5 6 7 8 9 |
|
The output result is as follows:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
As you can see, these two are variable parameters in python.
Note: When using *args and **kwargs at the same time, the *args parameter must be listed before **kwargs, like foo(a=1, b='2', c=3, a', 1, None, ) If called in this way, the syntax error "SyntaxError: non-keyword arg after keyword arg" will be prompted.
1 2 3 4 5 6 |
|
Output result:
1 2 3 4 |
|
1 is assigned to param1, the remaining 2, 3, and 4 are assigned to *args, and the others are assigned to **kwargs
There is also a very beautiful usage , is to create a dictionary:
1 2 3 |
|
Result:
1 |
|
In fact, there is a dict class in python. You can create a dictionary using dict(a=1,b=2,c=3).

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Many website developers face the problem of integrating Node.js or Python services under the LAMP architecture: the existing LAMP (Linux Apache MySQL PHP) architecture website needs...

When using Scapy crawler, the reason why pipeline persistent storage files cannot be written? Discussion When learning to use Scapy crawler for data crawler, you often encounter a...

Python process pool handles concurrent TCP requests that cause client to get stuck. When using Python for network programming, it is crucial to efficiently handle concurrent TCP requests. ...

Deeply explore the viewing method of Python functools.partial object in functools.partial using Python...

Solution to permission issues when viewing Python version in Linux terminal When you try to view Python version in Linux terminal, enter python...

Choice of Python Cross-platform desktop application development library Many Python developers want to develop desktop applications that can run on both Windows and Linux systems...

Getting started with Python: Hourglass Graphic Drawing and Input Verification This article will solve the variable definition problem encountered by a Python novice in the hourglass Graphic Drawing Program. Code...

Data Conversion and Statistics: Efficient Processing of Large Data Sets This article will introduce in detail how to convert a data list containing product information to another containing...
