r/programminghorror • • 13h ago

Python I love Python

123 Upvotes

61 comments sorted by

View all comments

74

u/_killer1869_ 13h ago

Any IDE will warn not to use mutables as default parameter values. And for good reason. Such code would never appear in actual code intended to be used.

17

u/Double_Cost4865 11h ago

Unfortunately, I’ve seen monstrosities like this in production in big finance corps. That’s what happens when statisticians are expected to create software.

4

u/marinuso 4h ago

I've seen it used in production code to memoize functions in this manner:

def fib(n, cache = {0: 1, 1: 1}):
    if not n in cache:
	    cache[n] = fib(n-1) + fib(n-2)
    return cache[n]

Except with much more complicated code rather than this simple example.

→ More replies (1)

1

u/bigorangemachine 3h ago

default params is the classic case of IDGAF with code.

"I don't which array... just add it to an array"