Python - [eg] 是否有简写:print(f'type(var) = {type(var)}')

Dan*_*mas 6 python sas string-formatting f-string

Python 中是否有 (eg) 的简写print(f'type(var) = {type(var)}'),而不必在文本和{.}?

简短的回答可能是“不”,但我不得不问!

例如,在 SAS 中,可以使用&=将宏变量及其值输出到日志...

%let macrovar = foobar;  
%put &=macrovar;
Run Code Online (Sandbox Code Playgroud)

在日志中返回: MACROVAR = foobar

这是我的第一个问题,我发现很难找到答案,所以如果有人问并回答了,我深表歉意。

Ale*_*ood 7

确实有。从 python 3.8 开始,你可以简单地输入f'{type(var)=}',你就会得到你想要的输出:

>>> x = {}
>>> f'{x=}'
'x={}'
>>> f'{type(x)=}'
"type(x)=<class 'dict'>"
Run Code Online (Sandbox Code Playgroud)

进一步阅读:

  1. “Python 3.8 的新特性”页面
  2. f 字符串的文档
  3. 关于 BPO讨论导致了此功能的实施。