Python 为什么';我的lambda在接到电话时好像什么都没做吗?

Python 为什么';我的lambda在接到电话时好像什么都没做吗?,python,lambda,rgb,Python,Lambda,Rgb,我有一个使用sty的lambda,它试图在一个我可以粘贴到任何地方的函数中创建彩色文本。然而,当我运行代码时,函数无法返回任何东西(甚至没有!),我不明白为什么。 样本测试: from sty import fg, bg colored = lambda entered_string, rgb: fg(rgb[0], rgb[1], rgb[2]) + bg(128, 128, 128) + entered_string + fg.rs print(colored('hello world',

我有一个使用sty的lambda,它试图在一个我可以粘贴到任何地方的函数中创建彩色文本。然而,当我运行代码时,函数无法返回任何东西(甚至没有!),我不明白为什么。 样本测试:

from sty import fg, bg
colored = lambda entered_string, rgb: fg(rgb[0], rgb[1], rgb[2]) + bg(128, 128, 128) + entered_string + fg.rs

print(colored('hello world', (0, 255, 0)))

预期(和期望)输出将以绿色打印“hello world”。然而,正如我之前所说,没有打印,甚至“没有”!它直接转到“进程已完成,退出代码为0”。

我认为您在错误的环境中运行此代码。在jupyter笔记本中,它与所需输出的描述相匹配:


fg和bg函数的作用是什么?这与lambdas没有任何关系。
fg.rs
应该是
rs.fg
吗?fg设置文本颜色,bg设置背景颜色,如果在其中一个后面加上.rs,它将重置为默认值。@Carcigenicate否。我得到了一个
名称错误:名称“rs”没有定义1
实际上,无法复制。这个代码对我有用。最有可能的解释是,您的主机不支持ANSII转义码,这可能是它在幕后使用的代码;它以前是工作的,但后来它只是随机停止。我以为我把事情搞砸了,无法复制我以前拥有的东西