Args: Amazing or Approaching? - Evan Kohilas @EuroPythonConference
Args: Amazing or Approaching? - Evan Kohilas  @EuroPythonConference
Uploaded August 2026 | Updated September 2026, 2 weeks ago
[EuroPython 2026 - S1 on 2026-07-16]
🎤 *Args: Amazing or Approaching? by Evan Kohilas*
🔗 https://ep2026.europython.eu/session/args-amazing-or-approaching

00:00 - Intro
01:21 - Arguments vs Parameters
01:55 - Example intro
02:21 - Problems of adding optional parameters
03:20 - Solution via wrapper functions
03:59 - Solution via function overloading
04:29 - Python's lack of function overloading
05:10 - Solution via Python's default arguments
05:52 - Problems of Python's default arguments
07:16 - How other languages use the builder pattern to solve optional arguments without function overloading
07:56 - Problems of the builder pattern
08:33 - Problems of function overloading
09:07 - Benefits of Python's keyword arguments
11:30 - re.sub example problem
13:30 - re.sub example solution using the `*` parameter
13:37 - How to enforcing keyword arguments using the `*` parameter
14:25 - Problems when using the `*` parameter
15:14 - Solution via PEP736
15:31 - Solution via linters
16:34 - The `/` parameter, and problems of Python's keyword arguments
18:06 - How the `/` parameter helps with parameter renaming
18:32 - Benefits of Swift's handling of external and internal parameter names
19:36 - How Javascript similarly handles external and internal parameter names
20:24 - How the `**` operator in Python allows for unpack arguments from dictionaries
21:08 - How the `...rest` property allows Javascript to handle unexpected arguments
21:21 - How the `**kwargs` parameter allows Python to handle unexpected arguments
22:19 - How Python 2 used to handle parameter unpacking
22:53 - Problems of `**kwargs` and solution using the `/` parameter
23:40 - How the `*args` parameter allows an arbitrary number of arguments
25:15 - Are arbitrary arguments a good idea? Why doesn't Rust support them?
25:38 - How arbitrary arguments make it difficult to understand function definitions
26:01 - Typing arbitrary arguments
26:36 - Recap of Python's function parameter and argument system
27:37 - Outro

📝 Abstract:
From default args, to `**kwargs`, and everything in-between, Python's comprehensive argument system lends itself to some of the most effective code, through encouraging readability, reuse, and easy refactoring.

But is that really true? Why, and why not?
What could we learn from other languages?
And what else could lie in their future?

---

In this session, we'll give a rundown of Python's comprehensive function argument system and how its features allow for safety, conciseness, and expressiveness (whether you're calling or writing functions).

We'll then give examples for where that system lacks, where it could bite you, and give suggestions for what more could be done on Python code to fix those limitations.

---
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: creativecommons.org/licenses/by-nc-sa/4.0
Args: Amazing or Approaching? - Evan KohilasFrom Pixels to Insights: Python for Earth Observation - ELENI TOKMAKTSIPyStories with Pydantic — Marcelo TrylesinskiCoding Dojos and Grand Pianos 🎹How Does It Feel To Represent Your Company At EuroPython - Jason from SnowflakeUpdate on the CPython JIT: What to expect in 3.15 - Diego RussoEuroPython 2026 - Lightning talks ⚡ FridayDeploying Python Web Apps in 2026 - Will VincentHow to Talk With Your Legal Department About Open Source - Vladimir SlavovFavorite Lightning Talk — Mark Smith🇵🇱 Co polecasz zwiedzić uczestnikom EuroPython 2026 w Krakowie?Keynote: How to Run 160 KM: Building Resilience When Things Feel Hard - Leah Wasser
EuroPython Conference |

Args: Amazing or Approaching? - Evan Kohilas

SHARE TO X SHARE TO REDDIT SHARE TO FACEBOOK WALLPAPER