background preloader

Google Python Class

Facebook Twitter

Google Python Class Day 1 Part 1. Strings. Python Strings - Educational Materials. Python has a built-in string class named "str" with many handy features (there is an older module named "string" which you should not use).

Python Strings - Educational Materials

String literals can be enclosed by either double or single quotes, although single quotes are more commonly used. Backslash escapes work the usual way within both single and double quoted literals -- e.g. \n \' \". A double quoted string literal can contain single quotes without any fuss (e.g. "I didn't do it") and likewise single quoted string can contain double quotes.

Python strings are "immutable" which means they cannot be changed after they are created (Java strings also use this immutable style). Characters in a string can be accessed using the standard [ ] syntax, and like Java and C++, Python uses zero-based indexing, so if s is 'hello' s[1] is 'e'. Unlike Java, the '+' does not automatically convert numbers or other types to string form.

For numbers, the standard operators, +, /, * work in the usual way. String Methods String Slices. Google Python Class Day 1 Part 2. Stdtypes (python) Lists. Python Lists - Educational Materials. Python has a great built-in list type named "list".

Python Lists - Educational Materials

List literals are written within square brackets [ ]. Lists work similarly to strings -- use the len() function and square brackets [ ] to access data, with the first element at index 0. (See the official python.org list docs.) Assignment with an = on lists does not make a copy. Instead, assignment makes the two variables point to the one list in memory. The "empty list" is just an empty pair of brackets [ ]. Python's *for* and *in* constructs are extremely useful, and the first use of them we'll see is with lists.

If you know what sort of thing is in the list, use a variable name in the loop that captures that information such as "num", or "name", or "url". The *in* construct on its own is an easy way to test if an element appears in a list (or other collection) -- value in collection -- tests if the value is in the collection, returning True/False. Tuples (Python) Dictionary(python built-in) Python Dict and File - Educational Materials. Dict Hash Table Looking up or setting a value in a dict uses square brackets, e.g. dict['foo'] looks up the value under the key 'foo'.

Python Dict and File - Educational Materials

Strings, numbers, and tuples work as keys, and any type can be a value. Other types may or may not work correctly as keys (strings and tuples work cleanly since they are immutable). Looking up a value which is not in the dict throws a KeyError -- use "in" to check if the key is in the dict, or use dict.get(key) which returns the value or None if the key is not present (or get(key, not-found) allows you to specify what value to return in the not-found case). print dict['a'] ## Simple lookup, returns 'alpha' dict['a'] = 6 ## Put new key/value into dict 'a' in dict ## True ## print dict['z'] ## Throws KeyError if 'z' in dict: print dict['z'] ## Avoid KeyError print dict.get('z') ## None (instead of KeyError) A for loop on a dictionary iterates over its keys by default. ## Get the .keys() list: print dict.keys() ## ['a', 'o', 'g'] Dict Formatting Del Files.

Google Python Class Day 1 Part 3. File Objects (Python) .read([size]) (python--file-object) Google Python Class Day 2 Part 1. Regular Expressions (Python) Google Python Class Day 2 Part 2. Os.path (python) Google Python Class Day 2 Part 3. Python Utilities - Educational Materials. In this section, we look at a few of Python's many standard utility modules to solve common problems.

Python Utilities - Educational Materials

File System -- os, os.path, shutil The *os* and *os.path* modules include many functions to interact with the file system. The *shutil* module can copy files. os module docs filenames = os.listdir(dir) -- list of filenames in that directory path (not including . and ..). The filenames are just the names in the directory, not their absolute paths. ## Example pulls filenames from a dir, prints their relative and absolute pathsdef printdir(dir): filenames = os.listdir(dir) for filename in filenames: print filename ## foo.txt print os.path.join(dir, filename) ## dir/foo.txt (relative to current dir) print os.path.abspath(os.path.join(dir, filename)) ## /home/nick/dir/foo.txt Exploring a module works well with the built-in python help() and dir() functions.

Running External Processes -- commands The *commands* module is a simple way to run an external command and capture its output. Exceptions. Urllib (Python) Urllib.urlretrieve([string]url) python. Urllib.urlopen([string]url) Google Python Class Day 2 Part 4. Tripple Quoted String (Python) Log Puzzle Python Exercise - Educational Materials. For the Log Puzzle exercise, you'll use Python code to solve two puzzles.

Log Puzzle Python Exercise - Educational Materials

This exercise uses the urllib module, as shown in the Python Utilities section. The files for this exercise are in the "logpuzzle" directory inside google-python-exercises (download the google-python-exercises.zip if you have not already, see Set Up for details). Add your code to the "logpuzzle.py" file. An image of an animal has been broken it into many narrow vertical stripe images. The stripe images are on the internet somewhere, each with its own url. The slice urls are hidden inside apache log files (the open source apache web server is the most widely used server on the internet). Here is what a single line from the log file looks like (this really is what apache log files look like): Python Regular Expressions - Educational Materials. Regular expressions are a powerful language for matching text patterns.

Python Regular Expressions - Educational Materials

This page gives a basic introduction to regular expressions themselves sufficient for our Python exercises and shows how regular expressions work in Python. The Python "re" module provides regular expression support. In Python a regular expression search is typically written as: match = re.search(pat, str) The re.search() method takes a regular expression pattern and a string and searches for that pattern within the string. Str = 'an example word:cat!! ' Baby Names Python Exercise - Educational Materials. The Social Security administration has this neat data by year of what names are most popular for babies born that year in the USA (see social security baby names).

Baby Names Python Exercise - Educational Materials

Copy Special Python Exercise - Educational Materials. The Copy Special exercise goes with the file-system and external commands material in the Python Utilities section.

Copy Special Python Exercise - Educational Materials

Python Sorting - Educational Materials. The easiest way to sort is with the sorted(list) function, which takes a list and returns a new list with those elements in sorted order.

Python Sorting - Educational Materials

The original list is not changed. a = [5, 1, 4, 3] print sorted(a) ## [1, 3, 4, 5] print a ## [5, 1, 4, 3] It's most common to pass a list into the sorted() function, but in fact it can take as input any sort of iterable collection. The older list.sort() method is an alternative detailed below. The sorted() function seems easier to use compared to sort(), so I recommend using sorted(). The sorted() function can be customized though optional arguments. Basic Python Exercises - Educational Materials.