Must-Read Python PEPs - Most Important Python Enhancement Proposals
Top PEP - Must-Read PEP - Must-Read Python PEP, Most Important PEP, Most Important Python PEP
Top PEP - Must Read PEP - Must Read Python PEP, Important PEP, Important Python PEP
Top PEP - Must Read PEPs - Must Read Python PEPs, Important PEPs, Important Python PEPs
Return to Python Enhancement Proposals (PEP), Python
The must-read Python’s PEPs
As Python developer, you should know what a PEP is. In case you don’t, “PEP stands for Python Enhancement Proposal. A PEP is a design document providing information to the Python community, or describing a new Python feature or its processes or Python environment. The PEP should provide a concise technical specification of the feature and a rationale for the feature” (from PEP 1)
There are three kinds of PEP:
- A Standards Track PEP describes a new feature or implementation for Python
- An Informational PEP describes a Python design issue, or provides general guidelines or information to the Python community, but does not propose a new feature
- A Process PEP describes a process surrounding Python, or proposes a change to (or an event in) a process. Process PEPs are like Standards Track PEPs but apply to areas other than the Python language itself
All PEPs are stored in a PEP github repository and the list is in the PEP 0
Now, the main question is: “What are the most important PEPs that a Python developer should be aware of?” I went through the long list and I chose the ones that I think are important to know.
The must know PEPs without witch you cannot be considered a Python programmer are:
- PEP 20 – The Zen of Python: that’s the first PEP you need to read and apply throughout your Python development
- PEP 8 – this PEP defines the coding convention when writing Python. I expect everyone writing PEP8 compliant code * [[PEP 257 – conventions for Docstring in Python * [[PEP 287 – * [[PEP 7 – if you need to contribute to C implementation of Python, that’s the PEP for you * [[PEP 404 – release not found! There will be never a 2.8 Python release. The last Python 2 release is 2.7. It’s time to move to Python 3! * [[PEP 440 – this PEP describes a scheme for identifying versions of Python software distributions, and declaring dependencies on particular versions The following PEPs instead will be split between Python versions (2 and 3) and they just represent an attempt to summarise the most relevant ones in order to pick peculiarities of the language itself. The version of python affected and some personal extra comments will be side noted. ==Python 2== * [[PEP 201 – Lockstep Iteration (zip function) (2.0) - it’s very handy * [[PEP 202 – List Comprehensions (2.0) - one of my favourites * [[PEP 221 – Import As (2.0) * [[PEP 234 – Iterators (2.1) - trust me, you will use them * [[PEP 236 – Back to the __future__ (2.1) - do you want to use print() (from Python 3.X) in Python 2.X – Simple Generators (yield) (2.2) - once you know it, you’ll love it * [[PEP 279 – The enumerate() built-in function (2.3) - sometime it is very useful * [[PEP 282 – A Logging System (2.3) - please, don’t debug with print() * [[PEP 285 – Adding a bool type (2.3) - I don’t understand how you live without it! * [[PEP 289 – Generator Expressions (2.4) - list comprehensions with generators * [[PEP 308 – X if C else Y * [[PEP 318 – Decorators for Functions and Methods (2.4) - @decorators are methods which wrap functions and methods * [[PEP 322 – Reverse Iteration (2.4) * [[PEP 324 – subprocess - New process module (2.4) * [[PEP 327 – Decimal Data Type (2.4) - floatintg point are just too inexact. Period. * [[PEP 341 – Unifying try-except and try-finally - Do you know that try constructs allow an else statement – Coroutines via Enhanced Generators (2.5) - still need to get those! * [[PEP 343 – The “with” Statement (2.5) - really – New Super (2.6) - that’s important, read it! Python 2 and 3 * [[PEP 274 – Dict Comprehensions (originally 2.3, then 2.7 and 3.0) - the beauty of list comprehensions applied to Dict * [[PEP 372 – Adding an ordered dictionary to collections (2.7, 3.1) - because order matters * [[PEP 389 – argparse - New Command Line Parsing Module (2.7, 3.2) - please, stop using optparse right now! ==Python 3== * [[PEP 380 – Syntax for Delegating to a Subgenerator (yield from) (3.3) - a generator to delegate part of its operations to another generator * [[PEP 405 – Python Virtual Environments (3.3) - I’m really glad to see a tighter integration with virtual environments * [[PEP 417 – Including mock in the Standard Library (3.3) - it’s one of the first modules I pip install when using Python 2.7 * [[PEP 435 – Adding an Enum type to the Python standard library (3.4) * [[PEP 450 – Adding A Statistics Module To The Standard Library (3.4) - never used so far, but I recognise its importance * [[PEP 483 - The Theory of Type Hints (3.5) - that’s just a theory for the next PEP * [[PEP 484 - Type Hints (3.5) - they are used to easier static analysis and refactoring, potential runtime type checking, and (perhaps, in some contexts) code generation utilizing type information. Python will remain a dynamically typed language, and the authors have no desire to ever make type hints mandatory, even by convention * [[PEP 485 – ) * [[PEP 492 – Coroutines with async and await syntax (3.5) - coroutines start being a proper concept in Python * [[PEP 525 – Asynchronous Generators (3.6) - generators made asynchronous * [[PEP 526 – Syntax for Variable Annotations (3.6) - it’s like PEP 484 but for variables * [[PEP 530 – Asynchronous Comprehensions (3.6) - things are getting complicated eh… asynchronous versions of list, set, dict comprehensions and generator expressions * [[PEP 3000 – Python 3000 (3000) - where 3v3rything begins! * [[PEP 3101 – Advanced String Formatting (3.0) - stop using % for string formatting and embrace .format() method (included in Python 2.6 as well) * [[PEP 3105 – Make print a function (3.0) - I told you not to use print for debugging! Now all your Python 2.X needs a huge refactoring for working in Python 3.X. Joking apart, that’s the most common error when you try to run Python 2.X code using Python 3.X intepreter. * [[PEP 3107 – Function Annotations (3.0) * [[PEP 3109 – Raising Exceptions in Python 3000 (3.0) - yep, in Python 3.X, raise changes a bit. It’s worth having a look * [[PEP 3110 – Catching Exceptions in Python 3000 (3.0) - see above * [[PEP 3115 – Metaclasses in Python 3000 (3.0) - well, if you have ever used __metaclass__, Python 3.X don’t * [[PEP 3119 – ) * [[PEP 3120 – Using UTF-8 as the default source encoding (3.0) - this PEP removes a lot of headeaches we have in Python 2.X * [[PEP 3129 – Class Decorators (3.0) - like PEP 318 but for classes * [[PEP 3135 – New Super (3.0) - it’s PEP 367 for Python 3.X * [[PEP 3148 – futures - execute computations asynchronously (3.2) - The concurrent.futures module provides a high-level interface for asynchronously executing callables * [[PEP 3156 – [[Asynchronous IO Support Rebooted: the “asyncio” Module (3.3) - this is it! the asyncio module
Python Enhancement Proposals (PEP): Python, PEP 100, Zen of Python. (navbar_pep - see also navbar_python)
Python: Python Variables, Python Data Types, Python Control Structures, Python Loops, Python Functions, Python Modules, Python Packages, Python File Handling, Python Errors and Exceptions, Python Classes and Objects, Python Inheritance, Python Polymorphism, Python Encapsulation, Python Abstraction, Python Lists, Python Dictionaries, Python Tuples, Python Sets, Python String Manipulation, Python Regular Expressions, Python Comprehensions, Python Lambda Functions, Python Map, Filter, and Reduce, Python Decorators, Python Generators, Python Context Managers, Python Concurrency with Threads, Python Asynchronous Programming, Python Multiprocessing, Python Networking, Python Database Interaction, Python Debugging, Python Testing and Unit Testing, Python Virtual Environments, Python Package Management, Python Data Analysis, Python Data Visualization, Python Web Scraping, Python Web Development with Flask/Django, Python API Interaction, Python GUI Programming, Python Game Development, Python Security and Cryptography, Python Blockchain Programming, Python Machine Learning, Python Deep Learning, Python Natural Language Processing, Python Computer Vision, Python Robotics, Python Scientific Computing, Python Data Engineering, Python Cloud Computing, Python DevOps Tools, Python Performance Optimization, Python Design Patterns, Python Type Hints, Python Version Control with Git, Python Documentation, Python Internationalization and Localization, Python Accessibility, Python Configurations and Environments, Python Continuous Integration/Continuous Deployment, Python Algorithm Design, Python Problem Solving, Python Code Readability, Python Software Architecture, Python Refactoring, Python Integration with Other Languages, Python Microservices Architecture, Python Serverless Computing, Python Big Data Analysis, Python Internet of Things (IoT), Python Geospatial Analysis, Python Quantum Computing, Python Bioinformatics, Python Ethical Hacking, Python Artificial Intelligence, Python Augmented Reality and Virtual Reality, Python Blockchain Applications, Python Chatbots, Python Voice Assistants, Python Edge Computing, Python Graph Algorithms, Python Social Network Analysis, Python Time Series Analysis, Python Image Processing, Python Audio Processing, Python Video Processing, Python 3D Programming, Python Parallel Computing, Python Event-Driven Programming, Python Reactive Programming.
Variables, Data Types, Control Structures, Loops, Functions, Modules, Packages, File Handling, Errors and Exceptions, Classes and Objects, Inheritance, Polymorphism, Encapsulation, Abstraction, Lists, Dictionaries, Tuples, Sets, String Manipulation, Regular Expressions, Comprehensions, Lambda Functions, Map, Filter, and Reduce, Decorators, Generators, Context Managers, Concurrency with Threads, Asynchronous Programming, Multiprocessing, Networking, Database Interaction, Debugging, Testing and Unit Testing, Virtual Environments, Package Management, Data Analysis, Data Visualization, Web Scraping, Web Development with Flask/Django, API Interaction, GUI Programming, Game Development, Security and Cryptography, Blockchain Programming, Machine Learning, Deep Learning, Natural Language Processing, Computer Vision, Robotics, Scientific Computing, Data Engineering, Cloud Computing, DevOps Tools, Performance Optimization, Design Patterns, Type Hints, Version Control with Git, Documentation, Internationalization and Localization, Accessibility, Configurations and Environments, Continuous Integration/Continuous Deployment, Algorithm Design, Problem Solving, Code Readability, Software Architecture, Refactoring, Integration with Other Languages, Microservices Architecture, Serverless Computing, Big Data Analysis, Internet of Things (IoT), Geospatial Analysis, Quantum Computing, Bioinformatics, Ethical Hacking, Artificial Intelligence, Augmented Reality and Virtual Reality, Blockchain Applications, Chatbots, Voice Assistants, Edge Computing, Graph Algorithms, Social Network Analysis, Time Series Analysis, Image Processing, Audio Processing, Video Processing, 3D Programming, Parallel Computing, Event-Driven Programming, Reactive Programming.
Python Glossary, Python Fundamentals, Python Inventor: Python Language Designer: Guido van Rossum on 20 February 1991; PEPs, Python Scripting, Python Keywords, Python Built-In Data Types, Python Data Structures - Python Algorithms, Python Syntax, Python OOP - Python Design Patterns, Python Module Index, pymotw.com, Python Package Manager (pip-PyPI), Python Virtualization (Conda, Miniconda, Virtualenv, Pipenv, Poetry), Python Interpreter, CPython, Python REPL, Python IDEs (PyCharm, Jupyter Notebook), Python Development Tools, Python Linter, Pythonista-Python User, Python Uses, List of Python Software, Python Popularity, Python Compiler, Python Transpiler, Python DevOps - Python SRE, Python Data Science - Python DataOps, Python Machine Learning, Python Deep Learning, Functional Python, Python Concurrency - Python GIL - Python Async (Asyncio), Python Standard Library, Python Testing (Pytest), Python Libraries (Flask), Python Frameworks (Django), Python History, Python Bibliography, Manning Python Series, Python Official Glossary - Python Glossary, Python Topics, Python Courses, Python Research, Python GitHub, Written in Python, Python Awesome List, Python Versions. (navbar_python - see also navbar_python_libaries, navbar_python_standard_library, navbar_python_virtual_environments, navbar_numpy, navbar_datascience)
© 1994 - 2024 Cloud Monk Losang Jinpa or Fair Use. Disclaimers
SYI LU SENG E MU CHYWE YE. NAN. WEI LA YE. WEI LA YE. SA WA HE.