今日学习打卡-字符串的格式化

#格式化字符串

a=2

b=3

print(a+b)

#2+3=5

print(str(a)+"+"+str(b)+"="+str(a+b))#传统的拼接方式

print('%d+%d=%d'%(a,b,a+b)) #格式化字符串

#格式化字符串,方案一 %s表示此处有一个字符串,%d表示此处有一个整数

info='我叫%s,你叫%s,他叫%s,今年是%d年'%('刘德华','张学友','黎明',2020)

print(info)

#前面的参数比后面多,则报错TypeError: not enough arguments for format string(没有足够的参数)

info='我叫%s,你叫%s,他叫%s,今年是%d年'%('刘德华','张学友','黎明')

print(info)

#前面的参数比后面少,则报错TypeError: not all arguments converted during string formatting

info='我叫%s,你叫%s,他叫%s'%('刘德华','张学友','黎明',2020)

print(info)

#%ns 表示至少显示n位,不足用空格补齐

info='我叫%5s,你叫%5s,他叫%5s,今年是%10d年'%('刘德华','张学友','黎明',2020)

print(info)

#如果本身就超过了%ns的n,那么就正常显示

info='我叫%5s,你叫%5s,他叫%5s,今年是%10d年'%('高手名字就得特别长','张学友','黎明',2020)

print(info)

#数字除了可以补空格,还可以根据需要,在左侧补0

info='我叫%5s,你叫%5s,他叫%5s,今年是%010d年'%('高手名字就得特别长','张学友','黎明',2020)

print(info)

#方案一中,默认情况下,都是右对齐,如果需要将右对齐改成左对齐,那么需要加一个负号

info='我叫%-5s,你叫%-5s,他叫%-5s,今年是%-10d年'%('高手名字就得特别长','张学友','黎明',2020)

print(info)

#浮点型 %f 默认情况下,保留6位小数

number1='您输入的数字是%f'%(3.6)

print(number1)

#%n.mf n表示最少显示n位,m表示保留m位小数

number1='您输入的数字是%6.1f'%(3.6)

print(number1)

number1='您输入的数字是%6.0f'%(3.6) #四舍五入

print(number1)

#方案二 .format

str1='My name is {},Your name is {},age is {}.'.format('张三','李四',80)

print(str1)

#前面的参数比后面多,则报错,IndexError: Replacement index 2 out of range for positional args tuple

str1='My name is {},Your name is {},age is {}.'.format('张三','李四')

print(str1)

#后面的参数比前面多,不会报错

str1='My name is {},Your name is {},age is {}.'.format('张三','李四',80,100)

print(str1)

#除了顺序取值的方式之外,也可以使用下标取值的方式

str1='My name is {1},Your name is {0},age is {3}.'.format('张三','李四',80,100)

print(str1)

#顺序取值与下标取值不可以混用,以下写法会报错

str1='My name is {1},Your name is {0},age is {}.'.format('张三','李四',80,100)

print(str1)

#补齐到至少显示n位,在{}里加上:n

str1='My name is {:10},Your name is {:10},age is {:6}.'.format('张三','李四',80)

print(str1)

#下标取值和补齐可以一起用,{下标:n}

str1='My name is {1:10},Your name is {0:10},age is {2:6}.'.format('张三','李四',80)

print(str1)

#在方案二中,字符串默认左对齐,数字默认右对齐,可以根据需要修改对齐方式

#< 左对齐 ,> 右对齐,^ 居中对齐

str1='My name is {:>10},Your name is {:<10},age is {:^6}.'.format('张三','李四',80)

print(str1)

#数字可以补0

str1='My name is {:10},Your name is {:10},age is {:06}.'.format('张三','李四',80)

print(str1)

#在python3.6以后的版本中,可以用f'内容'写法

a=2

b=3

print(f'{a}+{b}={a+b}')

x='张三'

y='李四'

z=80

str1=f'My name is {x},Your name is {y},age is {z}'

print(str1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值