繁体   English   中英

Python 中的错误字符串是什么?

[英]What is wrong f-string in Python?

  • 下面的代码是我的有效要求。
import numpy as np
a =np.array([1, 3, 0, 2], int)
b =np.array([5, 2, 1, 2], int)
print(f'{a > b = }')
  • 结果还可以
a > b = array([False,  True, False, False])

  • 我想制作具有 F 弦风格的内部 function。
import numpy as np
a =np.array([1, 3, 0, 2], int)
b =np.array([5, 2, 1, 2], int)

def myprn(text):
    print(f'{text = }')

myprn(a > b)
  • 结果不是我的要求
  • 我想打印 'a > b' 而不是 'text'
text = array([False,  True, False, False])
#^^^ how to fix this requirement?

你不能,f-string 中的=是自记录符号,它只是按原样在它之前打印表达式。 文档参考

感谢@Tomerikoo。

  • 他的回答给了我一个提示。 我能够根据他的评论学习我想要的动作

@Tomerikoo 的评论

我能想到的做类似这项工作的唯一方法是 print(f'{text} = {eval(text)}') 然后用表达式传递 function 字符串,即 myprn('a > b')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM