Javascript胖箭头函数与Python lambda函数

Javascript胖箭头函数与Python lambda函数,javascript,python-3.x,lambda,Javascript,Python 3.x,Lambda,我正在Python3中实现一个Javascript类,我想验证我的代码是否正确,以及如何进一步重构它 这是Javascript代码: class DbResult { constructor(data) { let self = this; data = data || {}; self.status = data.status || 'info'; self.message = data.message || null;

我正在Python3中实现一个Javascript类,我想验证我的代码是否正确,以及如何进一步重构它

这是Javascript代码:

class DbResult {
    constructor(data) {
        let self = this;
        data = data || {};
        self.status = data.status || 'info';
        self.message = data.message || null;

    }

    static map(row) {
        let dbResult = new DbResult();

        if(!row) { return dbResult; }

        for(let property in row) {
            if(row.hasOwnProperty(property)) {
                const name = property.replace(/_[a-zA-Z]/g, (match) => {
                    return match[1].toUpperCase();
            });
            dbResult[name] = row[property];
        }
    }
    return dbResult;
}
module.exports = DbResult;
这是我的Python实现。我不确定我是否正确使用了lambda表达式

import re

class DbResult:
    def __init__(self, data):
        if data is None:
            data = {}
        if data.status is None:
            self.status = 'info'
        else:
            self.status = data.status
        if data.message is not None:
            self.message = data.message

    @staticmethod
    def map(row):
        dbResult = DbResult()

        if row is None:
            return dbResult

        for prop in row:
            if row.has_key(prop):
                name = re.sub("_[a-zA-Z]", lambda match: match[1].upper(), prop)
            dbResult[name] = row[name]

        return dbResult    

你测试过你的代码是否正确运行了吗?@Arpitolanki这个类是一个完整应用程序的一部分。在进行验证之前,我尚未完成单元测试用例。您可以在此处找到lambda函数的答案:。你必须使用
match.group()
而不是
match[1]
。除非你在做一些异国情调的事情,你只需做
prop.upper()
而不是regexp。@Bargain23,是的,
.group()
将返回与正则表达式匹配的字符串。您是否测试了代码是否正确运行?@arpitolanki此类是全尺寸应用程序的一部分。在进行验证之前,我尚未完成单元测试用例。您可以在此处找到lambda函数的答案:。您必须使用
match.group()
而不是
match[1]
。除非您正在做一些异国情调的事情,否则您只需执行
prop.upper()
而不是该正则表达式。@Bargain23,是的,
.group()
将返回正则表达式匹配的字符串。