码迷,mamicode.com
首页 > 编程语言 > 详细

回调在python中

时间:2016-02-06 22:25:47      阅读:375      评论:0      收藏:0      [点我收藏+]

标签:fp

  • 回调 

    函数作为参数

    函数执行=> 到一个参数函数时=> 调用另一个函数=> 回到主函数

  • #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    __author__ = ‘teng‘
    def test(callback):
        print ‘test func begin‘
        callback()
    
    def test1(callback):
        print ‘test1 func begin‘
        for func in callback:
            func()
    
    def cb1():
        print ‘callback 1‘
    
    def cb2():
        print ‘callback 2‘
    
    if __name__==‘__main__‘:
        test(cb1)
        test1((cb1, cb2))


以下是一个回调和项目中的应用

#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = ‘teng‘

def send_weixin(addr, message):
    print u"发微信("+message+u")给"+addr
def send_email(addr, message):
    print u"发邮件("+message+u")给"+addr
def send_qq(addr,message):
    print u"发QQ("+message+u")给"+addr
def send_duanxin(addr, message):
    print u"发短信("+message +u")给"+addr

send_method ={
    ‘QQ‘:send_qq,
    ‘WeiXin‘:send_weixin,
    ‘DuanXin‘:send_duanxin,
    ‘Email‘:send_email
}


def sendgupiao(message, custom_file, vip=False):
# 处理message
# 判断是否Vip
# 解析文件,得到地址
# f(message, addr)
    send_s =[]
    for s in message:
        if vip == False:
            t = s.split(‘,‘)
            send_s.append(t[0])
        else:
            send_s.append(s)
    send_message = ‘;‘.join(send_s)

    for line in open(custom_file, ‘r‘):
        info = line.strip().split(‘,‘)
        send_method[info[0]](info[1], send_message)
#info[0]为调用方式

if __name__==‘__main__‘:
    sendgupiao([u"000001买,低于8.5买",u"000002卖,高于11.2卖"],‘custom_info.txt‘)
    print "################### VIP ####################"
    sendgupiao([u"000001买,低于8.5买",u"000002卖,高于11.2卖"],‘custom_info.txt‘,vip=True)


回调在python中

标签:fp

原文地址:http://tengrommel.blog.51cto.com/608570/1741342

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!