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

Python - Is there a shorthand for [eg]: print(f'type(var) = {type(var)}')

在 Python 中是否有 shorthand 用于(例如)print(f'type(var) = {type(var)}'),而不必在文本和 {.} 中说明对象?

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

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

%let macrovar = foobar;  
%put &=macrovar;

日志中的returns:MACROVAR = foobar

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

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

>>> x = {}
>>> f'{x=}'
'x={}'
>>> f'{type(x)=}'
"type(x)=<class 'dict'>"

进一步阅读:

  1. “Python 3.8 中的新增功能”page
  2. F 弦的 documentation
  3. 导致实现此功能的 discussion on BPO