Hacker News new | ask | show | jobs
by tedmiston 3068 days 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'
2 comments

Interesting. Thanks for the post. I always just concatenated them out of laziness, and this looks even lazier.
It'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...!

saw this after posting, so epicly useful. Alreadying thinking of some nice concise, explanatory custom Exception descriptions..