如何解决为什么在Python类方法中不打印f字符串?
我想了解为什么f字符串不能在类方法中打印输出。我想使用它们的简洁语法来创建断点。
MWE:
class FStringTest:
def test(self):
print('why does this work')
f'but not this'
print(FStringtest().test())
f'yet this works'
输出:
why does this work
None
yet this works
解决方法
您是在Jupyter还是交互式python shell中运行它?
因为如果您是的话,那么REPL中的'P'代表打印(R = READ,E = EVALUATE,P = PRINT,L = LOOP),它将自动为您打印yet this works
,而无需您明确调用打印功能。
所以:
why does this work
这是方法内部的打印结果返回。
None
之所以会看到此信息,是因为您正在打印test()方法返回的值,并且由于它碰巧不返回任何内容(不返回),因此会为您提供“无”值。
yet this works
这正是REPL回响给您的。
注意:将其另存为python脚本(.py),并尝试在VSC之类的IDE中运行,或尝试使用py <script_name>.py
通过命令行运行,它不会向您显示最后一行输出。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。