The talk was just what I wanted – a hands on example-based introduction to various cool uses of Python. I already have experience with Python so I wasn’t interested in a very basic lecture – I just wanted to be inspired to use Python in new ways.
The following is just my random notes from the talk – perhaps someone will find it interesting and be inspired to watch video of talk which can be found on the page above.
Notes from the night
The styleguide PEP-8 should be read as it gives the coding conventions for python.
- A indentation level should only be 4 spaces, not a tab.
- Tabs and spaces shouldn’t be mixed.
- A line should only be 79 characters
- 2 blank lines should be used to seperate functions and classes, 1 blank line otherwise
The most important commands are:
- help() — help(modulname) searches help on the module.
- dir() — return an alphabetized list of names comprising (some of) the attributes of the given object, and of attributes reachable from it.
So when you are programming having a shell open with python running you can get help on how to use a module by using help(modulename) and to see the methods and options for a object or module try dir(object). help(modulename) is the most help IMO.
Some random code snippets that might be usefull
age = 25 name = "Thomas" print "My name is %s and I am %s years old " % (name,age) My name is Thomas and I am 25 years old
import random random.random() 0.73658477402788702
import time time.sleep(2.25)
>>> from getpass import getpass >>> password = getpass("Enter password: ") Enter password: >>> username = raw_input("User name: ") User name: Thomas >>>
Eksempel med urllib2
import urllib2 tjansson = urllib2.urlopen("http://www.tjansson.dk") txt = tjansson.read() txt[2:100] 'DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtm'
MySQLdb is a module which makes it possible to connect and interact with a MySQL database. I found a good introduction here:
Writing MySQL Scripts with Python DB-API
Unfortunately its not one of the modules and needs separate installation (here Ubuntu):
root@dirac:~# aptitude install python-mysqldb
and some sample code from the guide:
import MySQLdb conn = MySQLdb.connect (host = "localhost", user = "testuser", passwd = "testpass", db = "test") cursor = conn.cursor () cursor.execute ("SELECT VERSION()") row = cursor.fetchone () print "server version:", row cursor.close () conn.close ()
PDF generation with reportlab
root@dirac:~# aptitude install python-reportlab
from reportlab.pdfgen import canvas def hello(c): c.drawString(100,100,"Hello World") c = canvas.Canvas("hello.pdf") hello(c) c.showPage() c.save()
Google and python
While browsing the web I found this page about Google and their Python api, which could allow me to make a program to create a todo list from my Google calendar. Download and examples:
Index of modules: docs.python.org/modindex.html
Even more modules pypi.python.org/pypi/
Python for scientific use www.scipy.org/
Convert af python til Windows exe filer www.py2exe.org
Google codesearch www.google.com/codesearch
Another list of python guides www.whoishostingthis.com/resources/python/