在工作中,我们习惯以非常标准的OO方式编写Python.最近,有几个人加入了这个功能性的潮流.他们的代码现在包含更多的lambda,map和reduce.我知道函数式语言对并发性有好处,但Python函数编程真的有助于并发吗?我只是想了解如果我开始使用更多Python的功能,我会得到什么.
在 Python 中是否可以仅在必要时将某个条件作为参数传递给函数?例如:一个完整的 if 条件:
# /!\ checking if customer_name is NULL (NOT NULL field in destination database)
if row['customer_name'] == NULL:
row['customer_name'] = row['contact_name']
Run Code Online (Sandbox Code Playgroud)
我正在编写一个脚本,它将自动将数据从 mysql 迁移到 postgresql。有些表在两个数据库(源和目标)中具有相同的结构,有些表在结构上不同,而有些表只有数据类型不同。
我试图了解是否可以在函数内部“注入”一个条件,以便对上面提到的所有 3 种情况使用相同的代码段,条件每次都会不同。
以下是一个示例(我正在调查注入可能性的代码段为黄色 -> 将其作为参数传递):
def migrate_table(select_query, insert_query, tmp_args):
# Cursors initialization
cur_psql = cnx_psql.cursor()
cur_msql.execute(select_query)
args = []
for row in cur_msql:
# /!\ checking if customer_name is NULL (NOT NULL field in destination database)
if row['customer_name'] == NULL:
row['customer_name'] = row['contact_name']
args.append(cur_psql.mogrify(tmp_args, row))
args_str = ','.join(args)
if len(args_str) …Run Code Online (Sandbox Code Playgroud)