Python Python Basics All Together Now Gather Information

Derek Lefler
Derek Lefler
2,608 Points

Is there a reason we're using the .format syntax instead of f-strings?

In this video the example is: print("There are {} tickets remaining: ".format(tickets_remaining))

But with an f-string it's shorter and more readable in my opinion": print(f"There are {tickets_remaining} tickets remaining: ")

Oszkár Fehér
Oszkár Fehér
Treehouse Project Reviewer

Hi Derek, the reason it's used .format() instead of f'{}' to be compatible with python 2.x as well not just 3.5 +. The f'{}' it's in python 3.5+ and it will not work in python 2.7 for example, but .format() it's still implemented in both versions. Check out this link https://realpython.com/python-f-strings/.

Oszkár Fehér
Oszkár Fehér
Treehouse Project Reviewer

In some situation, it's still better to use .format() even in python 3.5+, especially if you need to feed in multiple arguments, practice will show the difference between the two usages.

Chris Freeman
Chris Freeman
Treehouse Moderator 57,148 Points

Oszkár Fehér, can you give an example of where you would used format() over an f-string?

Chris Freeman
Chris Freeman
Treehouse Moderator 57,148 Points

Oszkár Fehér, good examples. It’s always about keeping it readable over blind adherence to the latest methods.

3 Answers

Oszkár Fehér
Oszkár Fehér
Treehouse Project Reviewer

Hi Chris. I didn't dig too deep in my codes but I will if you require, these are what I use most of the time. One of the usages what I found better when we pass in a dictionary, ex.:

dict_ = { 'first_obj': 'value', 'second_obj': 'value}
print("{first_obj} followed by the {second_obj}".format(dict_))

Or another what I found more clean and clear in django or flask, using the form

"Update {}".format(form.cleaned_data['field'])

over

f"Update {form.cleaned_data['field']}"

All above mentioned examples it's just my opinion, probably I should correct or delete the last comment.

Chris Freeman
Chris Freeman
Treehouse Moderator 57,148 Points

Oszkár Fehér, good examples. It’s always about keeping it readable over blind adherence to the latest methods.

Derek Lefler
Derek Lefler
2,608 Points

Chris Freeman

It’s always about keeping it readable over blind adherence to the latest methods.

Chris Freeman
Chris Freeman
Treehouse Moderator 57,148 Points

Thanks for the attribution. I feel Oszkár Fehér deserves the Best Answer.