python命令行编程和函数式编程的区别_Python基础学习代码之函数和函数式编程
发布日期:2022-02-03 13:17:02 浏览次数:10 分类:技术文章

本文共 4633 字,大约阅读时间需要 15 分钟。

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)

adictt = lambda **z:z

print adictt(x=3,y=5)

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 operator import mul,add

from functools import partial

add1 = partial(add,1)

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 = ''

w = x = y = z = 1

def f1():

x = y = z = 2

def f2():

y = z = 3

def f3():

z = 4

print output%('w',id(w),w)

print output%('x',id(x),x)

print output%('y',id(y),y)

print output%('z',id(z),z)

clo = f3.func_closure

if clo:

print 'f3 closure vars:',[str(c) for c in clo]

else:

print 'no f3 closure vars'

f3()

clo = f2.func_closure

if clo:

print 'f2 closure vars:',[str(c) for c in clo]

else:

print 'no f2 closure vars'

f2()

clo = f1.func_closure

if clo:

print 'f1 closure vars:',[str(c) for c in clo]

else:

print 'no f1 closure vars'

from time import time

def logged(when):

def log(f,*args,**kargs):

print '''called:

function:%s

args:%s

kargs:%s'''%(f,args,kargs)

def pre_logged(f):

def wrapper(*args,**kargs):

log(f,*args,**kargs)

return f(*args,**kargs)

return wrapper

def post_logged(f):

def wrapper(*args,**kargs):

now = time()

try:

return f(*args,**kargs)

finally:

log(f,*args,**kargs)

print 'time delta:%s' % (time()-now)

return wrapper

try:

return {'pre':pre_logged,'post':post_logged}[when]

except KeyError,e:

raise ValueError(e),"must be 'pre' or 'post'"

@logged('post')

def hello(name):

print 'hello,',name

hello('world!')

x = 10

def ffoo():

y = 5

bar = lambda z:x+z

print bar(y)

j,k = 1,2

def proc1():

j,k = 3,4

print 'j==%d and k==%d' % (j,k)

def proc2():

j = 6

proc1()

print 'j==%d and k==%d' % (j,k)

k = 7

proc1()

print 'j==%d and k==%d' % (j,k)

j = 8

proc2()

print 'j==%d and k==%d' % (j,k)

def max2(arg1,arg2):

if arg1 > 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:])

以上就是Python基础学习代码之函数和函数式编程的内容,更多相关内容请关注PHP中文网(www.gxlcms.com)!

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

转载地址:https://blog.csdn.net/weixin_34759094/article/details/113658091 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:python unittest框架有哪些方法_python单元测试之unittest框架使用总结
下一篇:python多个定时任务_python单线程实现多个定时器示例

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月13日 06时32分37秒