Difference between revisions of "Programming:Python"

From WhyAskWhy.org Wiki
Jump to: navigation, search
m (Shoved in some more content from the old wiki)
m (Deoren moved page Python to Programming:Python without leaving a redirect)
(No difference)

Revision as of 10:33, 6 July 2012


My notes on Python
Module Structure and Layout

From Core Python Programming , 2E (3.4.1)

  1. Startup line (Unix)
  2. module documentation
  3. module imports
  4. variable declarations (Global)
  5. class declarations
  6. function declarations
  7. "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

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.

Not directly related, but useful

 * [[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