# python基础学习代码之函数和函数式编程

def func1():
print ‘hello world’
res = func1()
print type(res)
def func2():
return [‘xyz’,10000,-98]
atuple = func2()
x,y,z = func2()
print x,y,z
def func3():
return ‘xyz’,1000,-98
x,y,z = func3()
print x,y,z
def func4():
return [‘xyz’,1000,-98,’xxx’]
x,y,z,d = func4()
alist = x,y,z,d
print alist
true = lambda :true
print true()
sum = lambda x,y:x + y
summ = lambda x,y=4:x + y
atuplet = lambda *zaz:zaz
print atuplet(‘a’,1)
from random import randint
def functest(arg):
return arg % 2
allnums = []
for eachnum in range(9):
allnums.append(eachnum)
print filter(functest,allnums)
allnums = []
for eachnum in range(9):
# print eachnum
ra = randint(1,99)
# print ra
allnums.append(ra)
#print filter(lambda x:x%2,allnums)
#print [i for i in allnums if i%2]
print [n for n in [randint(1,99) for i in range(9)] if n%2]
print map(lambda x:x+2,[i for i in range(9)])
print map(lambda x:x**2,[int(i) for i in range(9)])
print map(str,[i for i in range(9)])
print map(lambda x,y:x+y,[1,2,3],[1,2,3])
print map(lambda x,y:(x+y,x-y),[1,2,3],[1,2,3])
print map(none,[1,2,3],[1,2,3])
print reduce(lambda x,y:x+y,[i for i in range(3)])
from functools import partial
mul100 = partial(mul,100)
basetwo = partial(int,base=2)
basetwo.__doc__ = ‘convert base 2 string to an int’
print basetwo(‘10010′)
import tkinter
root = tkinter.tk()
mybutton = partial(tkinter.button,root,fg=’white’,bg=’blue’)
b1 = mybutton(text=’button1′)
b2 = mybutton(text=’button2′)
qb = mybutton(text=’quit’,bg=’red’,command=root.quit)
b1.pack()
b2.pack()
qb.pack(fill=tkinter.x,expand=true)
root.title(‘pfas!’)
root.mainloop()
is_this_global = ‘xyz’
def foo():
global is_this_global
this_is_local = ‘abc’
is_this_global = ‘def’
print this_is_local + is_this_global
def foor():
m = 3
def bar():
n = 4
print m + n
print m
bar()
def counter(start=0):
count = [start]
def incr():
count[0] += 1
return count[0]
return incr
count = counter()
output = ‘ arg2:
return arg1
elif arg1 == arg2:
return ‘equal’
else:
return arg2
max22 = lambda a,b:a if a > b else b
min22 = lambda a,b:a if a < b else b def heji(a,b): return a+b,a*b x,y = heji(3,4) def mymin(a,b,*num): minnum = min22(a,b) for each in num: minnum = min22(minnum,each) return minnum def mymax(a,b,*num): maxnum = max22(a,b) for each in num: maxnum = max22(maxnum,each) return maxnum trantime = lambda m:(unicode(m / 60),unicode(m % 60)) print ':'.join(trantime(80)) a = ['jia','wo','ma'] b = ['get','hoa','?'] print map(none,a,b) print zip(a,b) def oddyear(y): if (y % 4 == 0 and y % 100 != 0) or y % 400 == 0: return y print filter(oddyear,range(1999,2030)) print [y for y in range(1999,2030) if (y % 4 == 0 and y % 100 != 0) or y % 400 == 0] print reduce(lambda x,y:x+y,range(6)) / float(6) cl = lambda x:x.strip() res = map(cl,open('e:\\thefile.txt')) import time def timeit(arg): starttime = time.clock() result = arg endtime = time.clock() return (result,endtime-starttime) def arg(a,b): return a * b print timeit(arg(3,4)) mult = lambda x,y:x * y print reduce(mult,range(9)[1:])

Posted in 未分类