布尔值签入 python
Boolean checking in python
我有一个函数如下 return 布尔值:
def is_new_records(conn, value):
"""
Check if value already exists
"""
with conn:
with conn.cursor() as cursor:
query = """
select not exists (select * from table
where value = '{value}')
""".format(value=value)
cursor.execute(query)
exists = cursor.fetchone()
return exists
函数将 return true/false 无论数据库中是否存在值。现在我就是这样调用这个函数的:
if is_new_records(connection, value):
# do something
else:
# do seomthing else
现在,当它 return 为真时,它会在 if 中执行代码块,但即使它 return 为假,它也会在 if 中执行代码块。我的假设是。 if 条件正在检查值 returned 是否为 而不是 None.
该函数返回的是元组而不是布尔值:
def is_new_records(conn, value):
"""
Check if value already exists
"""
with conn:
with conn.cursor() as cursor:
query = """
select not exists (select * from table
where value = '{value}')
""".format(value=value)
cursor.execute(query)
exists = cursor.fetchone()[0]
return exists
此更改使其生效
我有一个函数如下 return 布尔值:
def is_new_records(conn, value):
"""
Check if value already exists
"""
with conn:
with conn.cursor() as cursor:
query = """
select not exists (select * from table
where value = '{value}')
""".format(value=value)
cursor.execute(query)
exists = cursor.fetchone()
return exists
函数将 return true/false 无论数据库中是否存在值。现在我就是这样调用这个函数的:
if is_new_records(connection, value):
# do something
else:
# do seomthing else
现在,当它 return 为真时,它会在 if 中执行代码块,但即使它 return 为假,它也会在 if 中执行代码块。我的假设是。 if 条件正在检查值 returned 是否为 而不是 None.
该函数返回的是元组而不是布尔值:
def is_new_records(conn, value):
"""
Check if value already exists
"""
with conn:
with conn.cursor() as cursor:
query = """
select not exists (select * from table
where value = '{value}')
""".format(value=value)
cursor.execute(query)
exists = cursor.fetchone()[0]
return exists
此更改使其生效