# Newer f-string format
name ="Foo"
age =12print(f"Hello, My name is {name} and I'm {age} years old.")# output :# Hello, my name is Foo and I'm 12 years old.
Number Format Output Description
3.1415926{:.2f}3.14 Format float2 decimal places
3.1415926{:+.2f}+3.14 Format float2 decimal places with sign
-1{:+.2f}-1.00 Format float2 decimal places with sign
2.71828{:.0f}3 Format floatwith no decimal places
5{:0>2d}05 Pad number with zeros (left padding, width 2)5{:x<4d} 5xxx Pad number with x’s (right padding, width 4)10{:x<4d} 10xx Pad number with x’s (right padding, width 4)1000000{:,}1,000,000 Number formatwith comma separator
0.25{:.2%}25.00% Format percentage
1000000000{:.2e}1.00e+09 Exponent notation
13{:10d}13 Right aligned (default, width 10)13{:<10d}13 Left aligned (width 10)13{:^10d}13 Center aligned (width 10)
string_a ="Hello"
string_b ="Cena"# Index based:print("{0}, John {1}".format(string_a, string_b))# Object based:print("{greeting}, John {last_name}".format(greeting=string_a, last_name=string_b))
# 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.6print('Hello there {} and {}'.format(name1, name2))# Hello there Andrei and Sunnyprint('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
# Python string format() method# default(implicit) order
default_order ="{}, {} and {}".format('John','Bill','Sean')print('
--- Default Order ---')print(default_order)# order using positional argument
positional_order ="{1}, {0} and {2}".format('John','Bill','Sean')print('
--- Positional Order ---')print(positional_order)# order using keyword argument
keyword_order ="{s}, {b} and {j}".format(j='John',b='Bill',s='Sean')print('
--- Keyword Order ---')print(keyword_order)
# Basic syntax:print(f"string {adjustable_input_1} more string {adjustable_input_2}")# Example usage:
name ="Joe Bob"
age =23print(f"My name is {name} and I am {age} years old")--> My name is Joe Bob and I am 23 years old
# ------------------- string format, f-string ----------------------------# {} is placeholder
num1 =5
num2 =3print(f'{num1} times {num2} is {num1 / num2:.2f}')#2f means print to 2 decimal precision#5 times 3 is 1.67#explicit call format() method
number1 ='One'
number2 ='Two'
number3 ='Three'# default(implicit) order
default_order ="{}, {} and {}".format(number1,number2,number3)print(default_order)# One, Two and Three# order using positional argument
positional_order ="{1}, {0} and {2}".format(number1,number2,number3)print(positional_order)# Two, One and Three# order using keyword argument
keyword_order ="{i}, {j} and {k}".format(j=number1,k=number2,i=number3)print(keyword_order)# Three, One and Two