1、使用%占位符
%s 将内容转化为字符串,放入占位位置。
内容可以是列表,字典等类型,最后会转化成字符串类型。
%d 将内容转化为整数,放入占位位置
%f 将内容转化为浮点数,放入占位位置
使用占位符按位置传参,如果只传一个参数的话,不用在参数的位置加括号,而要传多个参数的话,要加括号,并且传入的参数与占位符的位置一一对应。
输入:
print("我的名字是%s。" % "明天")
print("我的名字是%s,我的年龄是%d。" % ("明天", 18))
输出:
我的名字是明天。
我的名字是明天,我的年龄是18。
按关键字传参,要将所传参数类型改为字典类型。输出格式也要发生一些变化,要在%和s中间写一个英文括号,然后把字典里的key值写在括号里,key值不用加引号,输出格式本身是字符串类型。
输入:
print('我的名字是%(name)s,我的年龄是%(age)d。' % {'age': 18, 'name': '明天'})
输出:
我的名字是明天,我的年龄是18。
2、使用format()函数
一、按位置传参,大括号里什么都不写。
输入:
info = "我的名字是{},我的年龄是{}。" .format('mingtian', 18)
print(info)
二、按索引传参,大括号里写索引。
输入:
info = "我的名字是{0}{0}{1},我的年龄是{1}。" .format('mingtian', 18)
print(info)
输出:
我的名字是mingtianmingtian18,我的年龄是18。
三、按key=value形式传参,大括号里写key值。
输入:
info = "我的名字是{name},我的年龄是{age}。" .format(name='mingtian', age=18)
print(info)
输出:
我的名字是mingtian,我的年龄是18。
四、格式化填充
'{0:*^10}'.format('开始') 中的0代表传入参数的索引,可以不写,不写默认0。^代表从中间传参,10代表总长度为10。
<代表参数在左边,>表示参数在右边。
输入:
#格式化填充
#****开始****
a = '{0:*^10}'.format('开始')
print(a)
b = '{1:*^10}'.format('开始', '22')
print(b)
输出:
****开始****
****22****
3、f-string
在输出的字符串前面写f,然后在括号里面写入要传入参数的变量。
这种方法是Python 3.6及以上版本引入的最新格式化输出方法。
输入:
name = 'migntian'
age = 18
print(f"我的名字是{name},我的年龄是{age}。")
输出:
我的名字是migntian,我的年龄是18。