python - 有没有更好的方法,仅在没有值时返回空字符串,或者在有值时返回一个值?

标签 python mysql

所以基本上,如果查询结果为 None,我想返回一个空字符串;如果有,则返回结果中的值。

我尝试使用

return '' if x is None else x

return x or ''

这就是我的函数的样子:

def get_token_status(self):
    query = 'SELECT used FROM tokens WHERE token = %s'
    self.cursor.execute(query, (self.token,))
    return self.cursor.fetchone()['used'] # // return '' or x // return '' if x is None else x

这就是我的光标实例的样子:

cursor = db.cursor(dictionary=True)

感谢字典参数,cursor.fetchone() 返回一个包含值的字典,这就是我在这里使用方括号的原因

我还从查询中打印了cursor.fetchone()的值并打印出来

None

如果结果中没有行并且:

{'used': '1'}

结果中是否有行。我收到 TypeError 错误:

TypeError: 'NoneType' object is not subscriptable

当我调用该函数时,我尝试在 try block 中捕获错误并且它有效,尽管我认为有更好、更短的方法。

感谢您提前提供的所有帮助。

最佳答案

由于该对象是一个 dict 或可能 None,因此您可以执行以下操作:

return (self.cursor.fetchone() or {}).get('used', '')

关于python - 有没有更好的方法,仅在没有值时返回空字符串,或者在有值时返回一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57342879/

相关文章:

python - 可以在 Gtk3 应用程序中使用旧的 Gtk2 小部件吗?

Python 组合字典中的项目

mysql - 有没有可能mysql查询之一会中断?

MySQL 查询返回同一数据字段的 2 个计数

c# - 将数据从远程网站中的 JavaScript 函数传递到桌面应用程序上的 C# 应用程序

php - 是否可以使用 PHP PDO::FETCH_UNIQUE 在结果数组中保留唯一索引?

mysql - 在mysql中选择不同的列字段和总和

Scipy径向基函数(scipy.interpolate.rbf)中的Python MemoryError

python - 在 Windows 中使用 Django Sqlite

python - 我如何在 Python 中开发屏幕捕获工具