added table of contents generated by ekalinin---github-markdown-toc

This commit is contained in:
Trevor Boyd Smith 2018-09-14 08:02:05 -04:00
parent d3881b4fa9
commit 229e7b8ff7

View File

@ -20,6 +20,158 @@ Many teams use the [yapf](https://github.com/google/yapf/)
auto-formatter to avoid arguing over formatting. auto-formatter to avoid arguing over formatting.
Table of Contents
=================
* [Google Python Style Guide](#google-python-style-guide)
* [1 Background](#1-background)
* [2 Python Language Rules](#2-python-language-rules)
* [2.1 Lint](#21-lint)
* [2.1.1 Definition](#211-definition)
* [2.1.2 Pros](#212-pros)
* [2.1.3 Cons](#213-cons)
* [2.1.4 Decision](#214-decision)
* [2.2 Imports](#22-imports)
* [2.2.1 Definition](#221-definition)
* [2.2.2 Pros](#222-pros)
* [2.2.3 Cons](#223-cons)
* [2.2.4 Decision](#224-decision)
* [2.3 Packages](#23-packages)
* [2.3.1 Pros](#231-pros)
* [2.3.2 Cons](#232-cons)
* [2.3.3 Decision](#233-decision)
* [2.4 Exceptions](#24-exceptions)
* [2.4.1 Definition](#241-definition)
* [2.4.2 Pros](#242-pros)
* [2.4.3 Cons](#243-cons)
* [2.4.4 Decision](#244-decision)
* [2.5 Global variables](#25-global-variables)
* [2.5.1 Definition](#251-definition)
* [2.5.2 Pros](#252-pros)
* [2.5.3 Cons](#253-cons)
* [2.5.4 Decision](#254-decision)
* [2.6 Nested/Local/Inner Classes and Functions](#26-nestedlocalinner-classes-and-functions)
* [2.6.1 Definition](#261-definition)
* [2.6.2 Pros](#262-pros)
* [2.6.3 Cons](#263-cons)
* [2.6.4 Decision](#264-decision)
* [2.7 Comprehensions & Generator Expressions](#27-comprehensions--generator-expressions)
* [2.7.1 Definition](#271-definition)
* [2.7.2 Pros](#272-pros)
* [2.7.3 Cons](#273-cons)
* [2.7.4 Decision](#274-decision)
* [2.8 Default Iterators and Operators](#28-default-iterators-and-operators)
* [2.8.1 Definition](#281-definition)
* [2.8.2 Pros](#282-pros)
* [2.8.3 Cons](#283-cons)
* [2.8.4 Decision](#284-decision)
* [2.9 Generators](#29-generators)
* [2.9.1 Definition](#291-definition)
* [2.9.2 Pros](#292-pros)
* [2.9.3 Cons](#293-cons)
* [2.9.4 Decision](#294-decision)
* [2.10 Lambda Functions](#210-lambda-functions)
* [2.10.1 Definition](#2101-definition)
* [2.10.2 Pros](#2102-pros)
* [2.10.3 Cons](#2103-cons)
* [2.10.4 Decision](#2104-decision)
* [2.11 Conditional Expressions](#211-conditional-expressions)
* [2.11.1 Definition](#2111-definition)
* [2.11.2 Pros](#2112-pros)
* [2.11.3 Cons](#2113-cons)
* [2.11.4 Decision](#2114-decision)
* [2.12 Default Argument Values](#212-default-argument-values)
* [2.12.1 Definition](#2121-definition)
* [2.12.2 Pros](#2122-pros)
* [2.12.3 Cons](#2123-cons)
* [2.12.4 Decision](#2124-decision)
* [2.13 Properties](#213-properties)
* [2.13.1 Definition](#2131-definition)
* [2.13.2 Pros](#2132-pros)
* [2.13.3 Cons](#2133-cons)
* [2.13.4 Decision](#2134-decision)
* [2.14 True/False evaluations](#214-truefalse-evaluations)
* [2.14.1 Definition](#2141-definition)
* [2.14.2 Pros](#2142-pros)
* [2.14.3 Cons](#2143-cons)
* [2.14.4 Decision](#2144-decision)
* [2.15 Deprecated Language Features](#215-deprecated-language-features)
* [2.15.1 Definition](#2151-definition)
* [2.15.2 Decision](#2152-decision)
* [2.16 Lexical Scoping](#216-lexical-scoping)
* [2.16.1 Definition](#2161-definition)
* [2.16.2 Pros](#2162-pros)
* [2.16.3 Cons](#2163-cons)
* [2.16.4 Decision](#2164-decision)
* [2.17 Function and Method Decorators](#217-function-and-method-decorators)
* [2.17.1 Definition](#2171-definition)
* [2.17.2 Pros](#2172-pros)
* [2.17.3 Cons](#2173-cons)
* [2.17.4 Decision](#2174-decision)
* [2.18 Threading](#218-threading)
* [2.19 Power Features](#219-power-features)
* [2.19.1 Definition](#2191-definition)
* [2.19.2 Pros](#2192-pros)
* [2.19.3 Cons](#2193-cons)
* [2.19.4 Decision](#2194-decision)
* [2.20 Modern Python: Python 3 and from __future__ imports {#modern-python}](#220-modern-python-python-3-and-from-__future__-imports-modern-python)
* [2.20.1 Definition](#2201-definition)
* [2.20.2 Pros](#2202-pros)
* [2.20.3 Cons](#2203-cons)
* [2.20.4 Decision](#2204-decision)
* [from __future__ imports](#from-__future__-imports)
* [The six, future, or past libraries.](#the-six-future-or-past-libraries)
* [2.21 Type Annotated Code](#221-type-annotated-code)
* [2.21.1 Definition](#2211-definition)
* [2.21.2 Pros](#2212-pros)
* [2.21.3 Cons](#2213-cons)
* [2.21.4 Decision](#2214-decision)
* [3 Python Style Rules](#3-python-style-rules)
* [3.1 Semicolons](#31-semicolons)
* [3.2 Line length](#32-line-length)
* [3.3 Parentheses](#33-parentheses)
* [3.4 Indentation](#34-indentation)
* [3.5 Blank Lines](#35-blank-lines)
* [3.6 Whitespace](#36-whitespace)
* [3.7 Shebang Line](#37-shebang-line)
* [3.8 Comments and Docstrings](#38-comments-and-docstrings)
* [3.8.1 Docstrings](#381-docstrings)
* [3.8.2 Modules](#382-modules)
* [3.8.3 Functions and Methods](#383-functions-and-methods)
* [3.8.4 Classes](#384-classes)
* [3.8.5 Block and Inline Comments](#385-block-and-inline-comments)
* [3.8.6 Punctuation, Spelling and Grammar](#386-punctuation-spelling-and-grammar)
* [3.9 Classes](#39-classes)
* [3.10 Strings](#310-strings)
* [3.11 Files and Sockets](#311-files-and-sockets)
* [3.12 TODO Comments](#312-todo-comments)
* [3.13 Imports formatting](#313-imports-formatting)
* [3.14 Statements](#314-statements)
* [3.15 Access Control](#315-access-control)
* [3.16 Naming](#316-naming)
* [3.16.1 Names to Avoid](#3161-names-to-avoid)
* [3.16.2 Naming Convention](#3162-naming-convention)
* [3.16.3 File Naming {#s3.16.3-file-naming}](#3163-file-naming-s3163-file-naming)
* [3.16.4 Guidelines derived from Guido's Recommendations](#3164-guidelines-derived-from-guidos-recommendations)
* [3.17 Main](#317-main)
* [3.18 Function length](#318-function-length)
* [3.19 Type Annotations](#319-type-annotations)
* [3.19.1 General Rules](#3191-general-rules)
* [3.19.2 Line Breaking](#3192-line-breaking)
* [3.19.3 Forward Declarations](#3193-forward-declarations)
* [3.19.4 Default Values](#3194-default-values)
* [3.19.5 NoneType](#3195-nonetype)
* [3.19.6 Type Aliases](#3196-type-aliases)
* [3.19.7 Ignoring Types](#3197-ignoring-types)
* [3.19.8 Typing internal variables](#3198-typing-internal-variables)
* [3.19.9 Tuples vs Lists](#3199-tuples-vs-lists)
* [3.19.10 TypeVar](#31910-typevar)
* [3.19.11 Strings types](#31911-strings-types)
* [3.19.12 Imports For Typing](#31912-imports-for-typing)
* [3.19.13 Circular Dependencies](#31913-circular-dependencies)
* [4 Parting Words](#4-parting-words)
Created by [gh-md-toc](https://github.com/ekalinin/github-markdown-toc)
<a id="s2-python-language-rules"></a> <a id="s2-python-language-rules"></a>
<a id="python-language-rules"></a> <a id="python-language-rules"></a>
## 2 Python Language Rules ## 2 Python Language Rules
@ -2566,3 +2718,4 @@ style is also important. If code you add to a file looks drastically different
from the existing code around it, it throws readers out of their rhythm when from the existing code around it, it throws readers out of their rhythm when
they go to read it. Avoid this. they go to read it. Avoid this.