python基础~格式化字符串

格式化字符串:

格式化字符串实现的是字符串的拼接功能,它比普通的拼接更加简洁高效

a=10

b=8

print(str(a)+'+'+str(b)+'='+str(a+b))  #普通拼接

print(f'{a}+{b}={a+b}')  #格式化字符串


格式化字符串可以用{}和format()实现

str1 = 'My name is {}, I am {} years old.'.format('朝伟',18)

print(str1)  #My name is 朝伟, I am 18 years old.

当前面的{}的数量和后面的值的数量不一样时

str2 = 'My name is {}, I am {} years old.'.format('朝伟',18,天乐)

print(str2)  #My name is 朝伟, I am 18 years old.  #前面的空位比后面少,不会报错

str3 = 'My name is {}, I am {} years old.'.format('朝伟')

print(str3)  #报错。前面的空位比后面多,会报错


通过下标取值,填写元组的下标,顺序可以任意选取

str4 ='My name is {1}, his name is {2}, her name is {0}.'.format('青霞','曼玉','德华')

print(str4)  #My name is 曼玉, his name is 德华, her name is 青霞.

顺序取值和下标取值不能混用。否则报错

str5 ='My name is {1}, his name is {}, her name is {}.'.format('青霞','曼玉','德华')

print(str5)  #报错。


指定位数与对齐:

可以指定补齐到几位,不足指定位数补空格,超过位数不限制

顺序取值与下标取值都可以指定位数

补齐位数{:n}至少补齐到n位,超过n位不限制,字符串默认左对齐,数字默认右对齐

str6 = 'My name is {:10}, I am {:10} years old.'.format('朝伟',18)

print(str6)  #My name is 朝伟        , I am         18 years old.

str7 ='My name is {1:10}, her name is {0:10}, she is {2:10} years old.'.format('青霞','曼玉',22)

print(str7)  #My name is 曼玉        , her name is 青霞        , she is         22 years old.

修改对齐方式{:<n}左对齐{:>n}右对齐{:^n}居中对齐,补空格

str8 = 'My name is {:>10}, I am {:<10} years old, I am from {:^20}.'.format('朝伟',18,'China')

print(str8)  #My name is         朝伟, I am 18         years old, I am from        China        .

补0

str9 = 'My name is {:>010}, I am {:<010} years old, I am from {:^020}.'.format('朝伟',18,'China')

print(str9)  #My name is 00000000朝伟, I am 1800000000 years old, I am from 0000000China00000000.

保留两位小数

str10 = '你的成绩是{:10.2f}'.format(136.888)

print(str10)  #你的成绩是0000136.89


format的简化

python3.6以后可以用f' '格式化字符串

补齐位数、对齐方式等用法与format()一致

name = 'Fred'

print(f'My name is {name:10}.')  #My name is Fred      .

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容