<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/args-amazing-or-approaching---evan-kohilas-1przrlht2" -->

---
title: Args: Amazing or Approaching? - Evan Kohilas | daily.dev
description: [EuroPython 2026 - S1 on 2026-07-16] 🎤 *Args: Amazing or Approaching? by Evan Kohilas*   🔗 https://ep2026.europython.eu/session/args-amazing-or-approaching...
canonical: https://daily.dev/posts/args-amazing-or-approaching---evan-kohilas-1przrlht2
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Args: Amazing or Approaching? - Evan Kohilas | daily.dev
og:description: [EuroPython 2026 - S1 on 2026-07-16] 🎤 *Args: Amazing or Approaching? by Evan Kohilas*   🔗 https://ep2026.europython.eu/session/args-amazing-or-approaching...
og:url: https://daily.dev/posts/args-amazing-or-approaching---evan-kohilas-1przrlht2
og:image: https://api.daily.dev/og/posts/1pRzrlht2.png
og:image:alt: Args: Amazing or Approaching? - Evan Kohilas
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Args: Amazing or Approaching? - Evan Kohilas

**[EuroPython Conference](https://daily.dev/sources/europython)** · 28 min read · 0 upvotes · 0 comments

## Summary

[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: https://creativecommons.org/licenses/by-nc-sa/4.0/

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.youtube.com/watch?v=NQRU9bmVkyw>

---

Tags: [#python](https://daily.dev/tags/python), [#conference](https://daily.dev/tags/conference)

[View this post on daily.dev](https://daily.dev/posts/args-amazing-or-approaching---evan-kohilas-1przrlht2)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Args: Amazing or Approaching? - Evan Kohilas","url":"https://daily.dev/posts/args-amazing-or-approaching---evan-kohilas-1przrlht2","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/args-amazing-or-approaching---evan-kohilas-1przrlht2"},"datePublished":"2026-08-19T10:14:17.557Z","dateModified":"2026-08-19T12:01:52.111Z","description":"[EuroPython 2026 - S1 on 2026-07-16]\n🎤 *Args: Amazing or Approaching? by Evan Kohilas*  \n🔗 https://ep2026.europython.eu/session/args-amazing-or-approaching...","image":"https://i.ytimg.com/vi/NQRU9bmVkyw/sddefault.jpg","thumbnailUrl":"https://i.ytimg.com/vi/NQRU9bmVkyw/sddefault.jpg","isAccessibleForFree":true,"articleSection":"EuroPython Conference","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"EuroPython Conference","logo":"https://media.daily.dev/image/upload/s--qu8RO-lH--/f_auto,q_auto/v1777800764/logos/europython?_a=BAMAMiWQ0","url":"https://daily.dev/sources/europython"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/args-amazing-or-approaching---evan-kohilas-1przrlht2","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"python,conference","timeRequired":"PT28M","video":{"@type":"VideoObject","name":"Args: Amazing or Approaching? - Evan Kohilas","description":"[EuroPython 2026 - S1 on 2026-07-16]\n🎤 *Args: Amazing or Approaching? by Evan Kohilas*  \n🔗 https://ep2026.europython.eu/session/args-amazing-or-approaching...","thumbnailUrl":"https://i.ytimg.com/vi/NQRU9bmVkyw/sddefault.jpg","uploadDate":"2026-08-19T10:14:17.557Z","duration":"PT28M","url":"https://api.daily.dev/r/1pRzrlht2","embedUrl":"https://www.youtube.com/embed/NQRU9bmVkyw"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"EuroPython Conference","item":"https://daily.dev/sources/europython"},{"@type":"ListItem","position":3,"name":"Args: Amazing or Approaching? - Evan Kohilas"}]}
```

