4 ms·
And small things. Like your function wants to know if a parameter was not used when calling it. The ideom if par=None breaks if called with arrays. Ending scrip
by andi999 6y ago
And small things. Like your function wants to know if a parameter was not used when calling it. The ideom if par=None breaks if called with arrays.
Ending scripts with a command early would also be great (for interactive programming)
Also what is wrong in having a switch statement? (I`d like one with range cases 1<x<10..)
Accesing dicts with a struct syntax.
'Inline' C functions.
JIT, especially for loop acceleration.
- vasachi 6y agoI believe the idiom to check, if a parameter wasn’t set is to use an object() instance as default value. _notset = object() def foo(x=_notset): if x is _notset: print("foo was called as foo()")
- maxs 6y agoI don't understand what you mean by arrays. if par is None: ... As for accessing dicts with a struct syntax, I prefer keeping dicts and objects different things (unlike Javascript). And for JIT, there's numba! Agreed on the switch statement...
- LostJourneyman 6y agoQuick note, the more pythonic way of checking par in this case would be just to: if par: do_stuff() Python does some really cool, if slightly unintuitive, checks for "truthiness" where 0, [], {}, false, '' and None (could be other cases too, brain's a little foggy today) all evaluate as false. This controls for: if par = None: do_stuff() not catching empty lists, empty dicts, etc.
- andi999 6y agoHow do you define the function in that case?
- LostJourneyman 6y agoSo, a more complete example might help: def myFunc(par=None): if par: # do whatever is needed when the parameter exists pass #finish processing This allows you to pass in [], {}, None, '', or omit par all together, which will all behave as if par=None, or pass in data and use it appropriately. You can also use if not par: pass if you want to do the inverse.