gpt4 book ai didi

python - 为什么这个函数从数据库返回 None ?

转载 作者:行者123 更新时间:2023-12-01 06:00:51 27 4
gpt4 key购买 nike

我有以下功能:

def get_some_field(grouping_type_id):
checkConnection() # establishes connection if none

sql = "SELECT name FROM table_foo WHERE id=%d" % grouping_type_id
results = conn.execute(sql)
data = results.fetchone()
return str(data['name']) if ((data) and ('name' in data)) else ''

如果数据库表为空,我希望该函数返回一个空字符串,但实际上会返回 None

谁能解释一下这种行为吗?

最佳答案

这也会返回'None':

data = {'name': None}
result = str(data['name']) if ((data) and ('name' in data)) else ''

问题是 (data) 和 ('name' in data) 是正确的,因为 data 不为空,并且有 'name' 键设置(虽然设置为 None,但您不检查它)。

更改此行:

return str(data['name']) if ((data) and ('name' in data)) else ''

进入这一行:

return str(data.get('name') or '') if data else ''

关于python - 为什么这个函数从数据库返回 None ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10558405/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com