Live data from Hacker News

Python f-strings are the best syntax sugar i never knew about

news.ycombinator.com

1–10 of 14 posts

Re: Python f-strings are the best syntax sugar i never knew about

#5
it is very very true. F-strings are awesome. But there is one use case that I prefer .format(), and is when formatting a string using a dictionary. Being able to is awesome:

  some_long_string_template.format(**some_dictionary_with_many_keys)
For me that is such a nice and practical use case. But yes for not many local variables, f-string is the way to go.

Re: Python f-strings are the best syntax sugar i never knew about

#6
Templated strings are great for when, as the name suggests, you want to create a string with some placeholders to be expanded at a later time.

When you just want to interpolate a string on the fly, Fstrings are absolutely the right thing to do most of the time.

Re: Python f-strings are the best syntax sugar i never knew about

#7

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'

Interesting. Thanks for the post. I always just concatenated them out of laziness, and this looks even lazier.

Re: Python f-strings are the best syntax sugar i never knew about

#8
post #7

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'

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...!

Re: Python f-strings are the best syntax sugar i never knew about

#10

Templated strings are great for when, as the name suggests, you want to create a string with some placeholders to be expanded at a later time. When you just want to interpolate a string on the fly, Fstrings are absolutely the right thing to do most of the time.

true but it seems that the performance gap is pretty huge and the new f-strings actually come in on top for string substitution:

https://cito.github.io/blog/f-strings/

Post reply on HN