[HN Gopher] Python Cheatsheet
___________________________________________________________________
Python Cheatsheet
Author : zombiemama
Score : 70 points
Date : 2023-07-20 21:06 UTC (1 hours ago)
(HTM) web link (gto76.github.io)
(TXT) w3m dump (gto76.github.io)
| mey wrote:
| That is a lot of data for a single page IMO. You already have a
| TOC, several library sections might be pages unto themselves.
|
| You might also cross link topics into their relevant python docs
| for deeper references. I know I always need to dig deeper into
| CSV/argparse for specific things when working with those systems.
|
| Edit: awesome content
| n3t wrote:
| > That is a lot of data for a single page IMO.
|
| It is great for a cheat sheet to be on a single page. It makes
| ctrl+f searching useful and quick.
| dazzaji wrote:
| This comment got me thinking "What do you notice that is
| incorrect or important but missing from this page?" I
| discovered two things: 1) I'm too shallow in Python to identify
| any such issues and 2) while GPT-4 and Sage struggled with that
| precise question, in about 3 seconds I got what appears to be a
| really useful critique from Claude 2 100k. I'll share that in
| case anybody is interested:
|
| ___
|
| Here are a few things I noticed that could be improved on the
| Python cheatsheet page:
|
| - The dictionary section is missing explanation of dict
| comprehensions. Dict comprehensions are an important and useful
| feature for constructing dictionaries in a concise way.
|
| - In the section on modules, it would be good to mention
| virtual environments. Virtual environments are an important
| tool for Python dependency and package management.
|
| - The examples in the Pandas section are useful, but more
| explanation or details could be provided on some of the core
| DataFrame operations like merging/joining, groupby,
| aggregations, etc.
|
| - In the sections on concurrency and parallelism, async/await
| could be explained and demonstrated. Asyncio is commonly used
| for asynchronous programming in Python.
|
| - The cheatsheet focuses mainly on built-in modules and
| functionality. It could be useful to also cover some widely
| used 3rd party libraries like NumPy, SciPy, Matplotlib,
| TensorFlow, etc.
|
| - Sections on testing and debugging could be added - things
| like unittest, pytest, logging, debugging tools. Testing and
| debugging are key skills for Python developers.
|
| - The cheatsheet is very text heavy. More visuals, diagrams, or
| tables could help make it more scannable and easier to
| navigate.
|
| Overall it covers a lot of ground, but filling in some of those
| gaps would make it more comprehensive and useful as a
| reference. The content is excellent, just some ways it could be
| expanded on.
| hoistbypetard wrote:
| Eh. I think that critique misses more than it hits.
|
| > The dictionary section is missing explanation of dict
| comprehensions. Dict comprehensions are an important and
| useful feature for constructing dictionaries in a concise
| way.
|
| Those are in the inline section, with the other
| comprehensions: https://gto76.github.io/python-
| cheatsheet/#inline
|
| > In the sections on concurrency and parallelism, async/await
| could be explained and demonstrated. Asyncio is commonly used
| for asynchronous programming in Python.
|
| Those are in the coroutines section:
| https://gto76.github.io/python-cheatsheet/#coroutines
|
| > The cheatsheet focuses mainly on built-in modules and
| functionality. It could be useful to also cover some widely
| used 3rd party libraries like NumPy, SciPy, Matplotlib,
| TensorFlow, etc.
|
| NumPy: https://gto76.github.io/python-cheatsheet/#numpy
|
| Matplotlib: https://gto76.github.io/python-cheatsheet/#plot
|
| (It doesn't cover SciPy, Tensorflow. That said, I've been
| writing python for 23+ years, and can count on two fingers
| how many times I've needed either of those.)
|
| ----
|
| Some parts of the critique are correct, if not especially
| useful IMO. I'd say most of the parts of the critique that
| are correct seem to misunderstand the purpose of the
| cheatsheet. The best points the model generated, IMO, were
| the ones related to pandas and virtual environments.
| teddyh wrote:
| My initial comments:
|
| * Does not cover the "raise from" syntax1.
|
| * Does not cover Structural Pattern Matching (the "match" and
| "case" keywords)2.
|
| * In my basic script template I have this, to show warnings by
| default: if not sys.warnoptions: import
| warnings warnings.simplefilter("default")
|
| * My basic script template also uses the "-bbI" switches to
| python on the shebang line.
|
| 1. <https://docs.python.org/3/reference/simple_stmts.html#the-
| ra...>
|
| 2.
| <https://docs.python.org/3/reference/compound_stmts.html#the-...>
| linuxftw wrote:
| This content has been deprecated by chatgpt. In fact, this could
| have been generated by chatgpt.
| zombiemama wrote:
| I tried that already, here is the result:
|
| https://gist.github.com/gto76/145776c5eace059b09ca1d6ca771a1...
| linuxftw wrote:
| Nice! Looks reasonably comparable at a glance for the
| collections section.
| majkinetor wrote:
| I like pages like this. Exactly the level of detail I need when I
| want to use python once in a while. Thanks.
| [deleted]
| zabzonk wrote:
| who exactly is this aimed at? why would they not use the python
| on-line documentation?
| samwillis wrote:
| Discoverability, a document like this makes it much easier to
| find features and tools you were unaware of. The Python
| documentation is awesome, but it doesn't provide a 30k ft
| overview of the language and standard library, especially when
| the standard lib is so comprehensive.
| zabzonk wrote:
| i really don't see how - i have never had had any difficulty
| searching for features in the standard library documentation.
| Given_47 wrote:
| Exactly. Analogous to curling cheat.sh or simply using the
| tldr pages as opposed to sifting thru the entirety of a man
| page for a quick command
| analog31 wrote:
| "Unofficial" documentation can serve needs that are neglected
| by the official docs, even if only by offering a different
| point of view. I can't speak to Python specifically, but to
| make an analogy, a microcontroller that I'm working with right
| now is documented by a 3500 page manual that requires a fair
| amount of expertise just to know what to look for. But a
| seasoned embedded dev might be just fine with that, and annoyed
| by anything simpler. On the other hand, I can make headway by
| using the Arduino API and boatloads of online documentation in
| the form of blogs, tutorials, StackOverflow, etc.
|
| Likewise, nobody knows how to write technical documentation
| that's readable by everybody.
|
| In the case of Python, the official docs are typically the last
| place where I'd look for stuff, given the quality of documents
| such as this cheat sheet. There's still a need for
| authoritative "developer" documentation, but not for me.
|
| The diversity of Python developers, from hobbyists to pro's,
| justifies a similar diversity of documentation.
| zabzonk wrote:
| > In the case of Python, the official docs are typically the
| last place where I'd look for stuff, given the quality of
| documents such as this cheat sheet.
|
| you say "I can't speak to Python specifically", but i can
| assure you that the official docs are far superior to this
| cheat sheet.
___________________________________________________________________
(page generated 2023-07-20 23:01 UTC)