python 101

Post on 18-May-2015

7.692 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Alan Tree, Software Engineer at The Active Network, walks us through the fundamentals of Python.

TRANSCRIPT

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