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

Is there a shorthand in Python for (e.g.) print(f'type(var) = {type(var)}'), without having to state the object in the text and the {.}?

The short answer may be “no”, but I had to ask!

E.g. in SAS one may use &= to output a macro variable and its value to the log…

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

which returns in the log: MACROVAR = foobar

This is my first question, and I found it difficult to search for an answer, so apologies if it’s been asked and answered.

Answer

Indeed there is. As of python 3.8, you can simply type f'{type(var)=}', and you will get the output you desire:

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

Further reading:

  1. The “What’s New In Python 3.8” page
  2. The documentation for f-strings
  3. The discussion on BPO that led to this feature being implemented.