• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
PythonForBeginners.com

PythonForBeginners.com

Learn By Example

  • Home
  • Python Tutorial
  • Python Basics
  • Python Code Examples


You are here: Home / Cheatsheet / Python Language Rules

Python Language Rules

Last Updated: December 2, 2020

PEP8 has emerged as the style guide that most projects. it promotes a very readable and eye-pleasing coding style. It’s a well-established convention in the Python community, and in general we should follow these.

The style guide is about consistency.

Consistency with this style guide is important.

Consistency within a project is more important.

Consistency within one module or function is most important.

Google has put together a really nice style guide summary, which can be found here: http://google-styleguide.googlecode.com/svn/trunk/pyguide.html

Each style point has a summary for which additional information.

Python Language Rules

pychecker

  • Run pychecker over your code.

Imports

  • Use imports for packages and modules only.

Packages

  • Import each module using the full pathname location of the module.

Exceptions

  • Exceptions are allowed but must be used carefully.

Global variables

  • Avoid global variables.

Nested/Local/Inner Classes and Functions

  • Nested/local/inner classes and functions are fine.

List Comprehensions

  • Okay to use for simple cases.

Default Iterators and Operators

  • Use default iterators and operators for types that support them, like lists, dictionaries, and files.

Generators

  • Use generators as needed.

Lambda Functions

  • Okay for one-liners.

Conditional Expressions

  • Okay for one-liners.

Default Argument Values

  • Okay in most cases.

Properties

  • Use properties for accessing or setting data where you would normally have used simple, lightweight accessor or setter methods.

True/False evaluations

  • Use the “implicit” false if at all possible.

Deprecated Language Features

  • Use string methods instead of the string module where possible. Use function call syntax instead of apply. Use list comprehensions and for loops instead of filter and map when the function argument would have been an inlined lambda anyway. Use for loops instead of reduce.

Lexical Scoping

  • Okay to use.

Function and Method Decorators

  • Use decorators judiciously when there is a clear advantage.

Threading

  • Do not rely on the atomicity of built-in types.

Power Features

  • Avoid these features.

Recommended Python Training

For Python training, our top recommendation is DataCamp.

Free Trial

Filed Under: Cheatsheet Date Originally Published: December 10, 2012

More Python Topics

API Basics Beautiful Soup bitly Cheatsheet Code Code Snippets Command Line crawler Data Types Development Dictionary Dictionary Data Structure In Python envoy Errorhandling Error Handling Exceptions Fabric Files fnmatch ftplib Games GUI Json Lists Loops Mechanzie Modules Modules In Python Mysql OS pil pip Python Python Code Snippets Python On The Web Python Strings Requests Scraping Scripts sh simplehttpserver System & OS urllib2 Web

Primary Sidebar

Get Our Free Guide To Learning Python

Menu

  • Python Basics
  • Code Examples
  • Loops
  • Functions
  • Strings
  • Python on the Web
  • Lists
  • Dictionaries
  • Python Modules
  • Python Glossary
  • Learn Python

Most Popular Content

  • Reading and Writing Files in Python
  • String Concatenation and Formatting
  • List Comprehensions in Python
  • How to use sys.argv in Python
  • How to use Split in Python
  • How to use comments in Python
  • Python Syntax Basics

Recent Posts

  • Datacamp Review 2020
  • Most Common Python Interview Questions For 2020
  • Python 2 Vs Python 3 with Examples
  • How To Run Your Python Scripts
  • The 5 Best Python IDE’s and Code Editors for 2019

Python Courses

  • Datacamp: Intro To Python
  • 2021 Complete Python Bootcamp
  • Python Mega Course: Build 10 Real World Apps
  • Python Data Science Bootcamp
  • Complete Python Developer: Zero to Mastery

Copyright © 2012–2021 ยท PythonForBeginners.com

  • Home
  • Contact Us
  • Privacy Policy
  • Write For Us