Skip to content
7 / 15

Распаковка в Python: tuple unpacking, *args/**kwargs и walrus operator (:=)

Распаковка β€” ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ элСмСнтов ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°. Базовая Ρ„ΠΎΡ€ΠΌΠ° a, b = (1, 2), Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ β€” first, *rest = [1, 2, 3]. *args собираСт ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π² tuple, **kwargs β€” ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² dict. Walrus := (Python 3.8+) присваиваСт Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π² условиях ΠΈ Ρ†ΠΈΠΊΠ»Π°Ρ…. ВсС Ρ‚Ρ€ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°ΡŽΡ‚ boilerplate ΠΈ Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ СстСствСннСС, Ρ‡Π΅ΠΌ эквивалСнты Π½Π° JS.

Распаковка в Python: tuple unpacking, *args/**kwargs и walrus operator (:=) | JScriptiser