Programming:Python
From WhyAskWhy.org Wiki
Revision as of 05:49, 5 July 2012 by Deoren (talk | contribs) (Shoved in some more content from the old wiki)
Contents
My notes on Python
Module Structure and Layout
From Core Python Programming , 2E (3.4.1)
- Startup line (Unix)
- module documentation
- module imports
- variable declarations (Global)
- class declarations
- function declarations
- "main" body
Generating GUIDs
import uuid uuid.uuid4()
Functions
Default Arguments
Evaluated only once
From the [Python documentation]:
Important warning: The default value is evaluated only once. This makes a difference when the default is a mutable object such as a list, dictionary, or instances of most classes. For example, the following function accumulates the arguments passed to it on subsequent calls:
def f(a, L=[]): L.append(a) return L print f(1) print f(2) print f(3)
This will print:
[1] [1, 2] [1, 2, 3]
If you don’t want the default to be shared between subsequent calls, you can write the function like this instead:
def f(a, L=None): if L is None: L = [] L.append(a) return L
Mutable defaults trap
From: Python Gotchas, Mutable defaults for function/method arguments
You should never, never, NEVER use a list or a dictionary as a default value for an argument to a class method. Unless, of course, you really, really, REALLY know what you're doing
Misc References
Tips/Tricks
Style
- PEP 8 - Style Guide for Python Code, Official Python Style Guide
- Code Like a Pythonista: Idiomatic Python
- Python Coding Guidelines
- Python Coding Style & Standards
Gotchas
* Python Gotchas ([[1]] or [[2]]) * [Pitfalls] * [Pythons Attack]
Online Resources
//Various resources in no particular order (I'll eventually organize them)//
* [Homepage] * [[wp>Python_(programming_language)|Python Wikipedia entry]] * [Gruet's Python page] - Python Quick Reference, modules, etc. * [Pythons Attack, Common Mistakes of Python Programmers] * [documentation] * [pysqlite wiki] * [Lee's Python Cookbook] * [Module of the Week] - tour of the Python standard library through short examples.
* [[3]]
Windows specific
* [Win32 Extensions] - Win32api, COM, etc. * [project page]
Forums
Books
Current
* [[amazon>0132269937|Core Python Programming]] * [Support, Info]
Queued
* Most of the Python books listed here.
* [Your Own Computer Games with Python] ((Free, Open Source book/ebook))
IDEs and Compilers
//The descriptions are borrowed from the tool websites//
* [[4]] is a free and open-source Python Integrated Development Environment (IDE) created with the ambition to become competitive in functionality with commercial Windows-based IDEs available for other languages