Python 101Alan Tree 08/24/2011
What is Python?
● Python is a powerful scripting language developed by Guido van Rossum in the late 80's.
● Python is a fully functional language while maintaining readability and understandability.
● Python is a common language that ships with most 'nix distros.
● Python is very extendable ● Python is both dynamically typed and strongly typed at
the same time.
Why Python?
● Readability● Easy to learn ● Easy to write● Cross platform● Powerful● Extensive uses in many areas of development
Who uses Python?
● Google● Yahoo ● YouTube● Industrial Light and Magic● Disney● EVE Online● RackSpace● AstraZeneca● HoneyWell
Popular Applications using Python
● Google ● Yahoo● Blender ● GIMP ● BitTorrent● Civ 4 ● BattleField 2 ● Eve Online ● Ubuntu Package Manager
Other uses for Python
1. IT - Various scripting tasks ('nix, OSX, Windows)2. Web Development (Django, pylons, Grok, TurboGears,
CherryPy, Flask, Google App Engine)3. Game Development (Panda3d, pyGame, Pyglet, PIL,
Python-Ogre, Soya3d)4. Desktop Development (GUI development)
Ease of use
IDLE
● Able to modify code and run code directly from editor.● Code is stored in simple text files with the .py extension.● No open and close statements or curly braces. Indention
determines blocks of code. ● Comments are achieved with '#'
Basics
Variables and DataTypes
Strings
s = 'alan' s = "alan" s = 'al' + 'an'>>> 'alan' s = "%s%s" % ('al', 'an') >>> 'alan'
Integers
x = 2 y = 4 z = x + y z = z / 2>>> 3
Floats
z = 0.1 y = 1.2 m = z+y>>> 1.3
Dict
t = {} t = {'name':'alan', 'age':30}
List
l = [] l = ['alan', '30'] l = ['alan', 30, 'apples', {'lname':'tree'}]
Tuple
t = ['alan', 30] t[1] = 5
Loops
while (condition): do this for i in range (100): do this a bunch peeps_list = ['alan', 'joe', 'frank']for i in peeps_list: print i
Conditionals
if condition: do something
if condition: do thiselse: do that
Functions
def my_function(): print "this is my function" return my_function()>>> this is my function
Codez time
Hello World
print "Hello World"
Hello {Your name here}
your_name = "Alan" print "Hello %s" % (your_name)
Hello {What is your name?}
your_name = raw_input ("What is your name? : ") print "Hello %s" % (your_name)
Hello Conditional
your_age = int(raw_input("How old are you? :")) if your_age >= 30: print "hmm, getting up there arn't we?"else: print "young grass hopper!"
Hello {While Loop}
your_name = "" while your_name != "Alan": your_name = raw_input ("What is your name? : ")
print "Access Granted!!!"
Questions?
Workshop 'Easy'
Hi - Low
Write a program that will:
Guess a random number and have the user try to guess that random number by providing the clues 'go higher' or 'go lower' depending on the user's guess. You will need this at the top of your program:import random You will need to get your random number like this:random_number = random.randint(1,10)
Write a program that will:
Guess a random number and have the user try to guess that random number by providing the clues 'go higher' or 'go lower' depending on the user's guess. Hint:import randomyour_guess = 0random_number = random.randint(1,10) while {something doesn't match...}:
Workshop 'Easy' Solution:
import randomguess = 0number = random.randint(1,10)
print "I have chosen a number between 1 and 10. Try to guess it!"
while guess != number : guess = int(raw_input("Your guess? :")) if guess < number: print "go higher" if guess > number: print "go lower"
print "You guessed it!"
Workshop 'Advanced'
Fetch Search Results
Write a program that will:
Fetch the sports located in active search and display a menu that will allow the user to choose a sport. Once a sport is selected, have the user provide skills they can use to refine their search. Once the search is conducted and an item is found, present a menu so they may see more details about that event.
Things to note:You will need these libraries:import urllibimport json You will need this base url:base_url = 'http://api.amp.active.com/search?f=activities&v=json&api_key=wuhmn9ye94xn3xnteudxsavw' You will need to url encode the keywords:url_with_keywords = urllib.quote_plus(key_words)
You will need to parse json:json.loads(<json_string>) You will need to use some of this:"my_string".split("|")"my_string".strip()
Workshop 'Advanced' HELP 1import urllibimport jsonbase_url = 'http://api.amp.active.com/search?f=activities&v=json&api_key=wuhmn9ye94xn3xnteudxsavw'sports = ['Baseball', 'Basketball', 'Football', 'Golf', 'Outdoors', 'Running', 'Walking']
for sport in sports: print "%s - %s" % (sports.index(sport) + int(1), str(sport))
print "\n"
the_sport = int(raw_input("What sport would you like to search for?"))the_keywords = raw_input("Enter any keywords (or press ENTER for now): ")
print "\n"
new_url = "%s&m=meta:channel%%3D%s" % (base_url, sports[the_sport])
if the_keywords.strip() != '': new_url = "%s&k=%s" % (new_url, urllib.quote_plus(the_keywords))responses = urllib.urlopen(new_url).read()responses = json.loads(responses)['_results']
Workshop 'Advanced' HELP 2for i in range(1, len(responses)): print "%s - %s" % (i, responses[i]['title'].split('|')[0])
more_details = int(raw_input("Choose an event to see more details: "))
result = responses[more_details]print "\n"print "Title: %s" % (result['title'].split('|')[0])print "Location: %s, %s" % (result['meta']['city'], result['meta']['state'])print "Start Date: %s" % (result['meta']['startDate'])print "Assed ID: %s" % (result['meta']['assetTypeId'])
the end
questions?
Top Related