美文网首页
匿名函数实现switch...case...效果

匿名函数实现switch...case...效果

作者: 氪金浣熊 | 来源:发表于2018-09-10 23:27 被阅读0次

本人目前Python学习中……
今天遇到的问题是:
如何把数据库中查询出的int结果转换成对应的可理解的string
(有字典,1对1对应的)
想到的办法是在Python中构建类似switch case的语句,用到了匿名函数。这里有个参数的多余的,没想好怎么处理,暂时保留。

def int2str(i, x): # 内部函数,改变【状态】的表现形式
        return {
            0: lambda x: '未出发',
            1: lambda x: '已出发未到访',
            2: lambda x: '已到访未交定',
            3: lambda x: '已交定未首付',
            4: lambda x: '已首付已成交'}[i](x)

完整代码如下,上述的函数作为一个内部函数使用

@app.route('/b/book/<int:bookid>')
def get_buyer_booking_status_by_bookid(bookid):
    sql1 = 'SELECT status '
    sql2 = 'FROM bookings WHERE id = %d' % bookid
    sql3 = ' '
    sql4 = ' LIMIT 1'
    sql = '%s %s %s %s;' % (sql1, sql2, sql3, sql4)
    cur = g.db.execute(sql)

    def int2str(i, x): # 内部函数,改变【状态】的表现形式
        return {
            0: lambda x: '未出发',
            1: lambda x: '已出发未到访',
            2: lambda x: '已到访未交定',
            3: lambda x: '已交定未首付',
            4: lambda x: '已首付已成交'}[i](x)
    dict_status = {'status': int2str(cur.fetchone()[0]*1,0)}
    return jsonify(dict_status)

以上测试通过。
via Python/Flask/Sqlite3

相关文章

  • 匿名函数实现switch...case...效果

    本人目前Python学习中……今天遇到的问题是:如何把数据库中查询出的int结果转换成对应的可理解的string(...

  • 循环当中的匿名函数问题

    前言:从《原生JS实现轮播(上)》中JS实现渐变效果引出的循环中匿名函数的问题。 如果匿名函数里使用了循环变量,或...

  • python常见高级用法

    Lambda匿名函数 匿名函数就是没有定义函数名称,可以实现函数某些简单功能 匿名函数格式: lambda par...

  • go 匿名函数

    Go支持匿名函数,如果我们某个函数只是希望使用一次,可以考虑使用匿名函数,匿名函数也可以实现多次调用1、匿名函数使...

  • JavaScript匿名函数和对象 Day4

    匿名函数 小括号表示指向一个空间 小括号指向函数,实现调用匿名函数 匿名函数下的自调用 对象 对象的直接声明(每对...

  • Linux 共享内存函数

    mmap 函数实现共享内存 1. 匿名mmap 匿名存储映射:调用mmap函数时,指定 MAP_ANONYMOUS...

  • Android监听按钮事件的几种方式

    a.匿名内部类方式 b.外部类方式 c.实现接口方式 (1)匿名内部类方式实现,跟javascript的匿名函数类...

  • 匿名函数的递归

    匿名函数的递归实际是将匿名函数作为参数,传入另一个函数实现的。参考资料 The Y Combinator (Sli...

  • Block用法

    概述 block:苹果在iOS4开始引入的对C语言的扩展,用来实现匿名函数的特性。匿名函数:没有函数名的函数,一对...

  • day11高级函数和变量的作用域

    1. 匿名函数 1.1 什么是匿名函数 没有函数名的函数就是匿名函数 (匿名函数还是函数!!!!!!) 1.2 ...

网友评论

      本文标题:匿名函数实现switch...case...效果

      本文链接:https://www.haomeiwen.com/subject/epzegftx.html