3 ms·
You can do cool nested calls with them too. >>> class A: ... def __init__(self): ... self.foo = 5 ... def bar(self): ...
by tedmiston 9y ago
You can do cool nested calls with them too.
>>> class A:
... def __init__(self):
... self.foo = 5
... def bar(self):
... return 'cake'
...
>>> a = A()
>>> f'{a.foo}'
'5'
>>> f'{a.bar()}'
'cake'
>>> x = {'b': 1, 'c': 2}
>>> f"{x['b']}"
'1'
- tudelo 9y agoInteresting. Thanks for the post. I always just concatenated them out of laziness, and this looks even lazier.
- odonnellryan 9y agoIt's super nice when you're working on reporting software: software that needs to quickly shoot out a string like this from time-to-time! It's much nicer to write this: f"{account_name} {pretty_date(start_date)} - {pretty_date(end_date)} account attribution" and MUCH easier to maintain than the alternative...!
- pyedpiper 9y agosaw this after posting, so epicly useful. Alreadying thinking of some nice concise, explanatory custom Exception descriptions..