

def food(food, description):
    returns "%s is %s" % (food, description)
def food(food, description):
    return "%s is %s" % (food, description)
food('pie', 'good')
def loggit(func):
    def wrapper(*args, **kwargs):
        print "Called with %s" % repr(args)
        print "Called with %s" % repr(kwargs)
        return func(*args, **kwargs)
    return wrapper
foo('pie', 'good')
food('pie', 'good')
food_loggit = loggit(food)
food_loggit 
food_loggit('pie', 'good')
food = loggit(food)
food('pie', 'good')
@loggit
def foo(x,y):
    return x * y
foo 
foo(4,5)
foo(x=4,y=10)
def loggit(func):
    def wrapper(*args, **kwargs):
        print "Called with %s" % repr(args)
        print "Called with %s" % repr(kwargs)
        return func(*args, **kwargs)
    return wrapper







x = range(20,31)
x
for i in x:
    if i % 2:
        print i - 10
newlst = []
for i in x:
    if i % 2:
        newlst.append(i - 10)
newlst
#?map
map(None, [0,1,2])
#?filter
filter(None, ["", 'simeon', 'franklin'])
filter(None, [0,1,2])
x
#?filter
filter(lambda i: i % 2, x)
4 % 2
5 % 2
5 % 2
6 % 2
filter(lambda i: i % 2, x)
#?map
map(lambda i: i -10, filter(lambda i: i % 2, x))
x
[i-10 for i in x]
for i in x:
    print i-10
[i-10 for i in x if i % 2]
map(lambda i: i -10, filter(lambda i: i % 2, x))
[1 for i in x if i % 2]
[i for i in x if i % 2]
[i-2 for i in x if i % 2]
x
y = [i-2 for i in x if i % 2]
y
x
def add2(x):
    return x + 2
y = [add2(i) for i in x if i % 2]
y
y = [x=add2(i) for i in x if i % 2]
[add2(i) for i in x if i % 2][3]
x = ["'simeon'", "'franklin'"]
[i.strip("'") for i in x]
x = [i.strip("'") for i in x]
y = [i.strip("'") for i in x]
y = (i.strip("'") for i in x)
y
x
y
dir(y)
y.next()
y.next()
y.next()
y = (i.strip("'") for i in x)
for i in y:
    print i
for i in y:
    print i
y = (i.strip("'") for i in x)
y
x
z = (i + "SOMESTRING" for i in y)
z
list(z)
z
y = (i.strip("'") for i in x)
z = (i + "SOMESTRING" for i in y)
[i for i in z]
list(z)

f = open("bigfile.txt")
f
genexp = (line for line in f)
f.tell()
genexp
f.tell()
for line in genexp:
    print line
#?genexp.throw
_ip.magic("hist ")
def genfunc():
    while True:
        yeild 1
def genfunc():
    while True:
        yield 1
genfunc 
dir(genfunc)
y = genfunc()
y
y.next()
def genfunc():
    while True:
        yield 1
y.next()
y.next()
y.next()
y.next()
y.next()
y.next()
y.next()
def genfunc():
    for x in range(1,10):
        yield x
y = genfunc()
y
y.next()
y.next()
y.next()
y.next()
y.next()
y.next()
_ip.magic("p ")
y.next()
y.next()
y.next()
y.next()
food 
food("cake", "awesome")
x = [1,2,3]
y = (i for in x)
y = (i for i in x)
x = []
list(y)
x = [1,2,3]
y = (i for i in x)
x[0] = 9
list(y)
x
x = range(50)
x
[i -1 for i in x if i % 5]
[i - 1 for i in x if i % 5 == 0]
(i - 1 for i in x if i % 5 == 0)
def foo():
    while True:
        yield 1
foo 
y = foo()
y
z = foo()
z
y.next()
y.next()
y.next()
y.next()
def foo():
    while True:
        yield 1
        print "Never"
y = foo()
y.next()
y.next()
def foo(lst):
    yield lst.next() + "asdf"
y = foo([1,2,3])
y.next()
y = foo((i for i in [1,2,3]))
y.next()
y = foo((i for i in ["a", "b","c"]))
y.next()
y.next()
genexp = (i for i in ["a", "b","c"])
genexp
genexp.next()
genexp.next()
genexp.next()
genexp.next()
genexp = (i for i in ["a", "b","c"])
def foo(lst):
    yield lst.next() + "asdf"
y = foo(genexp)
for in y:
for i in y:
    print i
def foo(genexp):
    while True:
        yield genexp.next()
y = foo(genexp)
list(y)
genexp = (i for i in ["a", "b","c"])
y = foo(genexp)
for i in y:
    print y
for i in y:
    print i
y = foo(genexp)
for i in y:
    print i
genexp = (i for i in ["a", "b","c"])
y = foo(genexp)
for l in y:
    print l




x = {'simeon': ('franklin', 'instructor'), 'joseph': ('hanson', 'warlord')}
x.values()
x.keys()
[(1,2,3) for k in x.keys]
[(1,2,3) for k in x.keys()]
[(k,2,3) for k in x.keys()]
[(k,x[k][0],3) for k in x.keys()]
[(k,x[k][0],x[k][1]) for k in x.keys()]
sorted([(k,x[k][0],x[k][1]) for k in x.keys()])
sorted([(k,x[k][0],x[k][1]) for k in x.keys()], key=lamda r: r[2])
sorted([(k,x[k][0],x[k][1]) for k in x.keys()], key=lambda r: r[2])
[(k,x[k][0],x[k][1]) for k in x.keys()]
[print(i) for in [1,2,3][
[print(i) for in [1,2,3]]

import csv
f = open("data.csv")
c = csv.reader(f)
for row in c:
    print c

c = csv.reader(f)
f = open("data.csv")
c = csv.reader(f)
for row in c:
    print row
#?csv.reader
f = open("data2.csv")
c = csv.writer()
c = csv.writer(f)
f = open("data2.csv", "w")
c = csv.writer(f)
c.writerows([['simeon', 'franklin', 'instructor'], ['joseph', 'hansen', 'warlord']])

f.close()

f = open("data2.csv", "w")
#?c = csv.writer
csv.writer 
#?csv.writer
c = csv.writer(f, dialect="excel")
c.writerows([['simeon', 'franklin', 'instructor'], ['joseph', 'hansen', 'warlord']])
f.close()

f = open("data2.csv", "w")
c = csv.writer(f, dialect="excel", quoting=csv.QUOTE_ALL)
c.writerows([['simeon', 'franklin', 'instructor'], ['joseph', 'hansen', 'warlord']])
f.close()

from  classdemo import *
Row 
Row()
def foo():
    pass
foo
def foo():
    pass
foo 
foo()
Row 
r = Row()
r
dir(r)
r
r2 = Row()
id(r2)
id(r)
type(r)
r.x
r.foo()
r.x = 5
r2.x
Row.x
Row.x = 6
r2.x
r3 = Row()
id(r3)
id(r2)
r3.x
r.foo()
r3.foo()
r3.foo(3)
import classdemo
reload(classdemo)
r = classdemo.Row()
r.foo()
r.foo(1)
dir(r)
locals.keys()
locals().keys()
'__dict__' in locals().keys()
locals()
var = locals()
var['foo'] = 1
foo
var['foo'] = 9
foo
reload(classdemo)
r = classdemo.Row()
r = classdemo.Row("simeon", "franklin", "instructor")
r.fname
print r
reload(classdemo)
r = classdemo.Row("simeon", "franklin", "instructor")
r
str(r)
print r
repr(r)
reload(classdemo)
r = classdemo.Row("simeon", "franklin", "instructor")
r
repr(r)
r = classdemo.Row("simeon", "franklin", "instructor")
r2 = classdemo.Row("simeon", "franklin", "instructor")
r + r2
reload(classdemo)
r = classdemo.Row("simeon", "franklin", "instructor")
r2 = classdemo.Row("simeon", "franklin", "instructor")
r + r2
reload(classdemo)
r = classdemo.Row("simeon", "franklin", "instructor")
r + "String"
reload(classdemo)
classdemo.Row.__doc__
reload(classdemo)
classdemo.Row.__doc__
help(classdemo.Row)
_ip.magic("save /home/simeon/python_labs/day3pm")
