字符串的格式化
format()函数
可以接受不限个参数,位置可以不安顺序
str1 = "我的名字是:{},我的年龄是:{}"
print(str1.format("魏小花",18))
#做标记 从0开始做
str2 = "我喜欢吃{0},{0}是我吃过最好吃的东西,{1}也是我最喜欢吃的"\
"但是我觉得{0}比{1}好吃"
str3 = "菜煎饼"
str4 = "佛跳墙"
print(str2.format("北京烤鸭","热干面"))
print(str2.format(str3,str4))
# r = int(input("请输入半径:"))
# a = 3.14*r*r
# print("半径为{}的圆形,面积为{}".format(r,a))
#请输入半径:3
#半径为3的圆形,面积为28.259999999999998
# a =eval(input("请输入长:"))
# b =eval(input("请输入宽:"))
# Area = a*b
# print("这个长方形的长为:{},宽为:{},面积:{}".format(a,b,Area))
#请输入长:5
#请输入宽:6
#这个长方形的长为:5,宽为:6,面积:30
填充和对齐
^ 居中 <左对齐 >右对齐
:号后面带填充字符,只能是一个字符,不指定的话就默认是空格
str5 = "我毕业于{0:%^10},这所学校的{1:*<10}很好,并且{2:>9}很善良,我非常喜欢{0}"\
"这所学校"
print(str5.format("苏州科技大学","老师","学生"))
#{0:%^10} 在0序列的位置上,用%填充,居中对齐,一共输出10个字符
数字格式化:浮点数f 整数d 进行格式化
str6 = "我的身高是{0:.2f},我的体重是{1:.3f},我的年龄为{2:.2f}"
#0,1是小数 年龄是整数
print(str6.format(166.4556,60.78456,18.789))
其他格式
st1 = "{:.2f}"#保留小数点后两位
print(st1.format(3.14567))#3.15
print(st1.format(-23.4567))#-23.46
st2 ="{:+.2f}"#带符号保留小数点后两位
print(st2.format(-23.7865))
print(st2.format(34.7892))#+34.79
st3 = "{:.0f}"#不带小数 int()
print(st3.format(4.678))#5 相当于四舍五入
print(round(4.6))#5
st4 = "{:0>2d}"#数字补充0 用0填充左边,宽度为2
print(st4.format(5))#05
st5 = "{:x<4d}"#数字补充x 填充右边,宽度为4
print(st5.format(45))#45xx
st6 = "{:,}"#以逗号分隔数字格式
print(st6.format(1000000000))#1,000,000,000
st7 = "{:.2%}"#保留小数点后两位,化成百分式
print(st7.format(190.45))#19045.00%
st8 = "{:.3e}"#指数计数法 科学计数法 小数点后保留2位
print(st8.format(863400000))#8.634e+08
st9 = "{:10d}"#默认右对齐宽度为十 默认空格填充
print("000000000000000000000000")
print(st9.format(10))
st10 = "{:^10}"#居中对齐,宽度为十
print(st10.format(234))
st11 = "{:<10}"#左对齐
print(st11.format(23))