Files
howtopython.org/source/learning-the-basics.rst
2018-01-21 15:00:23 +00:00

90 lines
2.8 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Learning the Basics
===================
We've already covered that Python is more about the people than it is about the code. So, let's learn a bit about the organizations and processes these people participate in.
The BDFL
--------
Guido van Rossum, the creator of Python, is often referred to as the BDFL — the
Benevolent Dictator For Life.
Python Software Foundation
--------------------------
The Python Software Foundation is a nonprofit organization that is responsible for holding and protecting the intellectual property of Python, the Package Index, PyCon, and related. It heavily contributes towards the sustainability of the language and its ecosystem both financially and through infrastructure.
`Learn More about the PSF <http://www.python.org/psf/>`_.
Python Conferences
------------------
The major events for the Python community are developer conferences. The two
most notable conferences are PyCon, which is held in the US, and its European
sibling, EuroPython.
A comprehensive list of conferences is maintained at `pycon.org <http://www.pycon.org/>`_.
Python User Groups
------------------
User Groups are where a bunch of Python developers meet to present or talk
about Python topics of interest. A list of local user groups is maintained at
the `Python Software Foundation Wiki <http://wiki.python.org/moin/LocalUserGroups>`_.
PEPs
----
PEPs (*Python Enhancement Proposals*) are the documents/process through which Python gets enhanced and changed, over time.
The most infamous PEP is `PEP8 <http://pep8.org/>`_, which documents how to properly style Python code within the community.
Anyone can propose a PEP, even you! It's a long process, for good reasons — you have to convince a lot of people that your idea is a good one.
There are three different types of PEPs (as defined by :pep:`1`):
**Standards**
Describes a new feature or implementation.
**Informational**
Describes a design issue, general guidelines, or information to the
community.
**Process**
Describes a process related to Python.
Notable PEPs
~~~~~~~~~~~~
There are a few PEPs that could be considered required reading:
- :pep:`8`: The Python Style Guide.
Read this. All of it. Follow it.
- :pep:`20`: The Zen of Python.
A list of 19 statements that briefly explain the philosophy behind Python.
- :pep:`257`: Docstring Conventions.
Gives guidelines for semantics and conventions associated with Python
docstrings.
You can read more at `The PEP Index <http://www.python.org/dev/peps/>`_.
Submitting a PEP
~~~~~~~~~~~~~~~~
PEPs are peer-reviewed and accepted/rejected after much discussion. Anyone
can write and submit a PEP for review.
Here's an overview of the PEP acceptance workflow:
.. image:: ../_static/pep-0001.png