5 ms·
Hidden features of Python - Stack Overflow
- jedsmith 16y agoDupe of: - http://news.ycombinator.com/item?id=1512930 http://news.ycombinator.com/item?id=1512930 - http://news.ycombinator.com/item?id=594210 http://news.ycombinator.com/item?id=594210 I don't mind being reminded to see if there's anything new, though.
- dpatru 16y agoI've seen it here before, but yesterday I happened to stumble across it again, learned something new, and figured maybe other people on HN would benefit from it too.
- nbpoole 16y agoObligatory XKCD: http://xkcd.com/353/ http://xkcd.com/353/
- silentbicycle 16y agoXKCD is never obligatory. Seriously, why is anyone "obligated" to post a comic that mentions Python, but adds nothing of substance, and isn't even funny? (http://www.google.com/search?q=site%3Anews.ycombinator.com+%22obligatory+xkcd%22 http://www.google.com/search?q=site%3Anews.ycombinator.com+%...)
- nbpoole 16y agoWhy? That's easy: I made a deal with Randall Munrow and as a result I'm legally obligated to post links to XKCD comics all over the web! Seriously though. I enjoy reading XKCD and the first thing I thought of when I read the title of the post was that comic. Sorry for offending your delicate sense of humor. ;)
- beaumartinez 16y ago(nbpoole, I think Reddit-like humour is wasted here on HackerNews.)
- ot 16y agoWell, "import antigravity" is sure enough a hidden feature of python. Well hidden. So hidden that I couldn't find it in any version of the interpreter :)
- rbonvall 16y agoActually it is included in Python 3: http://svn.python.org/view/python/trunk/Lib/antigravity.py?view=markup&pathrev=66902 http://svn.python.org/view/python/trunk/Lib/antigravity.py?v...
- j_baker 16y agoLet's be fair. It was funny the first time I saw it.
- deleted 16y ago[deleted]
- silentbicycle 16y agoDamning with faint, faint, faint praise. ObPython: Learn Smalltalk too!
- bmastenbrook 16y agoHidden features in a programming language? Granted, most of these aren't "hidden", but they're nonobvious because the language is incredibly complex and it's difficult to predict from first principles that any of these things would actually work. Long ago, a rule of programming language design was handed down by the great old hackers, but it has been forgotten and much needless effort has been spent as a result. It's time to remind language designers of the rule again: "Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary."
- eru 16y agoSome of those features are just some fancy libraries, or syntactic sugar that you can ignore, if you want to. They don't make the language itself more complicated.
- narm60 16y agoCan you go into specifics about how any of these examples are non-obvious because the language is incredibly complex? In the context of higher level and or dynamic languages, I'd argue that Python is rather low on the complexity scale
- eru 16y agoYes, and some of those `hidden features' are just nice library functions that avoid adding features to the core language. Look at `enumerate' and `zip' for example, which allow Python to get away with one very simple for-loop.
- j_baker 16y agoI think Guido is well aware of that rule, and makes a conscious effort not to add unnecessary features to the language. Still, there's no way you can maintain any non-trivial piece of software for 20 years and not have a few unexpected "features" come up.