def f():
return True
print(f())
或者
def f():
return True
if f():
print('True')
else:
print('False')
我应该在 if 语句中舍入它还是简单地打印出 Python 3.3.2 中的值?
def f():
return True
print(f())
或者
def f():
return True
if f():
print('True')
else:
print('False')
我应该在 if 语句中舍入它还是简单地打印出 Python 3.3.2 中的值?
print
自动将输入转换为其字符串表示形式。因此,这两种方法实际上做的事情完全相同。考虑到这一点,为什么不使用第一个呢?它干净了很多。
此外,第二种方法确实可以简化:
print('True' if f() else 'False')
没有必要为如此简单的事情编写那么多代码。
如果您的函数总是返回 a bool
,那么只需打印它,如下所示:
print(f())
如果您需要将其转换为字符串而不打印,请使用str(f())
or repr(f())
。对于bool
类型,这两个是等价的,但例如,如果它们的参数是 an str
,它们是不同的:repr(str_obj)
返回正确引用和转义的。
如果它并不总是 a bool
,但您想根据其真值打印某些内容,请使用if
, 就像在您的问题或 iCodez 的答案中一样。或者,您可以将其转换为布尔值,然后打印:
print(bool(f()))
个人认为:
print(f())
形式看起来更好。但是,要考虑的一件事是,您已经在调用中进行了打印,以打印本质上是调试输出的调用导致功能被调用。print
当您准备好构建您的程序时,当您想要关闭所有烦人的语句时,这会让您很痛苦。
您可以改为使用以下功能:
LOGGING_ENABLED = True
def print_if(my_bool):
if LOGGING_ENABLED:
print str(my_bool)
这将确保始终调用该函数,但调试输出仅在您需要时发生。