Files
python/reference/concepts/pythonic.md
Michael Morehouse d7231f45b7 Concept extraction / references mega merge
* Create common working area

* Extract Concepts from v2 exercise: reverse-string

* Create reverse-string.md

* Update reverse-string.md

* Add Concepts from v2 exercise: variable-length-quantity

* Add first concepts group

* Improved concepts as per PR review

* Adds concept from binary-search-tree

* Add initial list

First pass concepts for `allergies` to address #460

* Initial list of concepts

First pass list of concepts to address #459

* Add Concepts for v2 exercise: phone-number

* Add phone-number Python concepts

* Small update to index access and slice topics.

* Add notes from review.
 - more information about classes, inheritance
 - flesh out privacy, public and non-public
 - clarify wording around iterables and index/slice access

* One more note about brackets and strings.

* Add Concepts for v2 exercise: hamming

* Add concepts for hamming

* Add note about tuple unpacking.

* Add notes about polymorphism, builtins, and dunder methods.

* Some whitespace fixes.

* [WIP] `clock` exercise concepts.

* Extract Concepts from v2 exercise: markdown

* Initial commit for markdown exercise concepts.

* Concept starter for markdown

* Added detail to Markdown concepts

* Final edits before harmonization

Final Markdown edits before we merge and harmonize.

* Add Concepts for v2 exercise: matrix

* `matrix` exercise concepts (issue #386)

First pass of concepts for `matrix ` exercise in python.  Pretty sure this is too detailed, but wanted to get something for review before proceeding with additional exercises.

* Edits to better match #290 Formatting

Edited concepts to better match the formatting of issue #290

* Typo correction

* added title

* Extract Concepts from v2 exercise: rna-transcription

* Beginning of Concepts for rna-transcription

* More detailed concepts for rna-trranscription

More detailed concepts for rna-transcription exrcise.

* Added title

* Extract Concepts from v2 exercise: robot-simulator

* Beginning of concepts for robot-simulator.

* WIP Concepts

* Additional detail for concepts

* Detail third pass

Third pass on adding concept detail.

* Additional detail for concepts.

* Edits per PR Feedback

Numerous spelling corrections.  Additional edits to address comments from last review.

* [WIP] Concept implementation instructions

* Adds instructions for exercise implementation

* Adds correction as per PR reviews

* Harmonize, part 1

* fix relative links in references/README.md

* First pass at harmonization

Shifts all documents to a common format, adds minimal link tagging to
the "concept" currently listed in each file. These will really need
multiple more passes, as they diverge from each other even when
describing the same topic. Many extraneous topics have crept in, added
in an "aspirational" fashion to the exercises; we may need to trim some
of that.

* Pulling in examples from BethanyG

* [WIP] Extracted concept unification

* Unification of extracted concepts

* Typos and duplicates remove

* Duplicates concept unification

* Concepts have now links to original file

* Update languages/reference/README.md

Co-Authored-By: Erik Schierboom <erik_schierboom@hotmail.com>

Co-authored-by: khoivan88 <33493502+khoivan88@users.noreply.github.com>
Co-authored-by: David G <davidgerva@gmail.com>
Co-authored-by: Ashley Drake <a.l.drake713@gmail.com>
Co-authored-by: Pedro Romano <pedro@paparomeo.net>
Co-authored-by: BethanyG <BethanyG@users.noreply.github.com>
Co-authored-by: Erik Schierboom <erik_schierboom@hotmail.com>
2021-01-29 11:14:36 -05:00

1008 B

Pythonic

An adjective used to describe well-constructed, high-quality Python code that is as easily understood and well designed as is possible for the task at hand. A piece of code that is "more Pythonic" will be easier to read and understand, and therefore more pleasurable to use, then "less Pythonic" code that accomplishes the same task.

A quality admired in a Pythonista -- the community's name for an adept Python user -- is the desire to always write code that is as Pythonic as possible.

Qualities

Any given piece of code tends to be considered more Pythonic if it:

  1. Adheres to the principles of the Zen of Python.
  2. Uses the current "best practice" idioms of the language, as the language and those practices evolve.
  3. Uses the common style conventions described in PEP 8

Further Reading