Python string formatting

# String Formatting
name1 = 'Andrei'
name2 = 'Sunny'
print(f'Hello there {name1} and {name2}')       # Hello there Andrei and Sunny - Newer way to do things as of python 3.6
print('Hello there {} and {}'.format(name1, name2))# Hello there Andrei and Sunny
print('Hello there %s and %s' %(name1, name2))  # Hello there Andrei and Sunny --> you can also use %d, %f, %r for integers, floats, string representations of objects respectively

Here is what the above code is Doing:
1. f-strings are the newest way to format strings in Python. They were introduced in Python 3.6.
2. f-strings are faster than both %-formatting and str.format().
3. f-strings allow you to evaluate expressions inside them and then insert their values into the string.
4. f-strings are easier to read and debug than other ways of formatting strings.
5. f-strings are not compatible with Python 2.7.