Weird behavior of optional arguments in Python __init__ | Hacker News Reader