从简,不多说:
#字符串格式化主要有两种方法:
#1、%符号,这个我们都很熟悉了
name = 'py'
char = 'p'
i = 1
tup = (name,i)
s1 = 'i love you , %s' % name
s2 = 'i love you , %c' % char
s3 = 'i love you , %d' % i
s4 = 'i love you , %s' % i
print(s1) # i love you , py
print(s2) # i love you , p
print(s3) # i love you , 1
print(s4) # i love you , 1
# %s:是传递字符串 %d:是传递十进制整数 %c:传递单个字符等等,当然如果记不得了%s基本万能,看s4输出你就明白了
#然后如果同时传递多个值进去,那么就得传进一个tuple如:
s5 = 'i am %s,%s years old' %(name,i) # i am py,1 years old
print(s5)
# 但是你想过没有,如果只传递一个参数的时候,恰好这个参数是tuple,会怎么样呢?肯定是报错啦,宝贝。
# 比如:s = 'i love you %s' %tup 这时候系统会认为你传了两个参数进来,可是它只要一个,能怎么办嘛,只能报个错玩玩嘛。
#2、format方法
#这个方法靠的是{}
s6 = 'i love you {},{}'.format(77,88)
print(s6) # i love you 77,88 是不是一看就明白了!
s7 = 'i love you {name},{age}'.format(name = 'bob',age = 6)
print(s7) # i love you bob,6
#这个等价于 'i love you {name},{age}'.format(**{'name':'bob','age':'6'})
# 字典传进去要加**变为关键字参数,传列表进去要加*或者加入索引如:
l = [8,9]
print('i love {0[0]},{0[1]}'.format(l)) # i love 8,9
以上,如有不足,欢迎指出。Thanks~!