格式字符串

字符串中某一个或者多个部分不确定就可以用格式字符串来实现功能

name = input('姓名:')
age = int(input('年龄:'))
message = name+'今年'+str(age)+'岁!'
print(message)

1.格式占位符

语法:
包含格式占位符的字符串 % (数据1, 数据2, 数据3, ...)

说明:

  • a. 数据个数和前面占位符的个数保持一致
  • b. 格式占位符:
    • %d - 整数
    • %Nd/%-Nd - 整数填充字符串的时候宽度是N,不够的用空格在前面/后面占位
    • %f - 小数
    • %.Nf - .N表示保留N位小数
    • %s - 字符串

注意:一般情况下占位符和数据的类型需要保持一致,只有 %s 可以用任何类型的数据填充

message = '%s今年%-5d岁,年薪:%.2f' % (name, age, 20000)
print(message)

2.format

在字符串中通过 {} 来占位表示字符串中变化的部分

1) 数据的个数和 {} 的个数保持一致

message = '{}今年{}岁!'.format(name, age)
print(message)

2) 下标形式的format: {下标}

# '你好我是XXX。 XXX你好!'
message = '你好我是{0}。{0}你好!'.format(name)
print(message)

str1 = '{1}={0}={1}'.format(10, 20)
print(str1)   # 20=10=20

str2 = '{1}={2}={0}={1}'.format(1, 2, 3, 4)
print(str2)   # 2=3=1=2

3) key形式的format: {key}

str3 = '{0}今年{1}岁,{0}的得分是:{2}'.format('张三', 18, 78)
print(str3)
str3 = '{name}今年{age}岁,{name}的得分是:{score}'.format(name='张三', age=18, score=78, height=180)
print(str3)

4) f(format)字符串:

f'{表达式}'

a = 10
b = 20
# 'a=x, b=x'
message = f'a={a+10}, b={b}, c={b}'
print(message)

5)数字格式化

  • :.Nf - 限制小数的小数点位数(N位)
  • :x>Nd - 数字占N位,不够用x填充(填在左边)
  • :x<Nd - 数字占N位,不够用x填充(填在右边)
  • :, - 用逗号将数据进行分隔(通用于银行数据显示)
  • :.N% - 以百分比的形式显示数据,数据保留 N 位小数
print('数字:{:.2f}'.format(3.1415926))    # 数字:3.14
print('数字:{1:.2f}'.format(3.1415926, 1.68926))     # 数字:1.69
print('数字:{n2:.2f}'.format(n1=3.1415926, n2=2.34233))    # 数字:2.34
pi = 3.1415926
print(f'数字:{pi:.2f}')    # 数字:3.14

print('{:0>5d}'.format(34))      # 00034
print(f'{34:a>5d}')      # aaa34
print(f'{34: >5d}')      #    34

print(f'{34:a<5d}')      # 34aaa

num = 19029300000
print(f'{num:,}')      # 19,029,300,000

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

友情链接更多精彩内容