python Format()函数的用法___实例详解(一)(全,例多)

(格式化替换,关键字替换,列表字典替换,类格式化,

魔法函数格式化,对齐及填充格式化,format对齐打印)

本篇目录内容:

一、format() 函数的语法

二、format() 函数基本用法

三、用对齐及填充的方式格式化

四、用format函数实现对齐打印

五、其他内容待本系列篇(二)更新


一、format() 函数的语法

  • 语法:format(value, format_spec=”)
  • 格式化指定的值,并将其插入字符串的占位符内。

将值转换为由 format_spec 控制的“格式化”表示形式。

  • format_spec的解释将取决于值参数的类型;
  • 默认format_spec是一个空字符串,通常与调用 str(value) 具有相同的效果。
  • 将 to 转换为在搜索值的方法时绕过实例字典的调用。
  • 如果方法搜索到达对象并且format_spec为非空,或者如果format_spec或返回值不是字符串,则会引发 TypeError 异常
  • 在 3.4 版更改: 如果format_spec不是空字符串,则引发 TypeError.object().__format__(format_spec)

二、format() 函数基本用法

基本语法是通过 {} 和 : 来代替以前的 %

1、位置替换print(‘{0} {1}’.format(‘字符串1′,’字符串2′))格式,

{}调用时,字符串编号顺序从0开始

2、可通过列表索引格式化字符串,{0[1]}中,‘0 是必须的

3、可以使用大括号 {} 来转义大括号,{{}}

4数字和关键字段可以混合使用来传递参数,

5关键字参数必须位于位置参数之后。

6省略字段名{}不能和数字形式的字段名同时使用

7、format 函数可以接受不限个参数,位置可以不按顺序。

8、占位符使用大括号 {} 定义。

9、返 回 值,返回一个格式化的字符串

(1)按照先后顺序位置替换

  • 主要格式:print(‘{ } { }’.format(‘字符串1′,’字符串2′))
  • foramt会把参数按位置顺序来填充到字符串中(按照顺序自动分配),第一个参数是0,然后1 ……
  • 也可以不输入数字,则会按照顺序自动分配,而且一个参数可以多次插入
  • 一个参数可以多次插入
  • {{}}仅代表{},不占用字符串格式化位置顺序

位置替换,按照先后顺序对format内容进行匹配替换

代  码

#不指定位置,按默认顺序

print(‘{} {}’.format(‘Adversity’,’Awake’))

运行结果

Adversity Awake

代  码#empty 占位符
mtext1 = “我的名字叫{},我已经{}岁了~”.format(“逆境清醒”,100)
print(mtext1)
运行结果我的名字叫逆境清醒,我已经100岁了~

代  码

#不指定位置,按默认顺序

print(‘{} {} {} ‘.format(‘逆境清醒:’,’不能如愿而行,’, ‘也须尽力而为。’))

运行结果

逆境清醒: 不能如愿而行, 也须尽力而为。

代  码

#不指定位置,按默认顺序,{{}}仅代表{},不占用字符串格式化位置顺序

print(‘{} {{}} {} {{}} {}’.format(‘逆境清醒:’,’不能如愿而行,’, ‘也须尽力而为。’))

运行结果

逆境清醒: {} 不能如愿而行, {} 也须尽力而为。

代  码

#{} 和参数的个数必须匹配,否则会报错。

print(‘{}{}{}{}{}{}{}{}’.format(‘逆境清醒:’,’不能如愿而行,’, ‘也须尽力而为。’))

运行结果

Traceback (most recent call last):
File “script.py”, line 1, in
print(‘{}{}{}{}{}{}{}{}’.format(‘逆境清醒:’,’不能如愿而行,’, ‘也须尽力而为。’))
IndexError: Replacement index 3 out of range for positional args tuple

Exited with error status 1

回溯(最近一次调用):
文件 “script.py”,第 1 行,在
print('{}{}{}{}{}’.format(’逆境清醒:’,’不能如愿而行,’, ‘也须尽力而为。’))
索引错误:替换索引 3 超出位置参数元组的范围

已退出,错误状态为 1

代  码

#当{}号叠加时,例如{{{{}}}}

print(‘ {{{{}}}} {} {{{{}}}} {}{}’.format(‘逆境清醒:’,’不能如愿而行,’, ‘也须尽力而为。’))

运行结果{{}} 逆境清醒: {{}} 不能如愿而行,也须尽力而为。

(2)按照索引进行匹配替换

  • 主要格式:print(‘{0} {1}’.format(‘字符串1′,’字符串2′))
  • 按索引编号来匹配替换{索引}的值

按照索引对format内容进行匹配替换

代  码#按索引编号来匹配
mtext1 = “我的名字是{0},我已经{1}岁了~”.format(“逆境清醒”,100)
print(mtext1)
运行结果我的名字是逆境清醒,我已经100岁了~

代  码

# 设置指定位置

print(‘{0} {1}’.format(‘逆境’,’清醒’))

运行结果

逆境 清醒

代  码

# 设置指定位置

print(‘{1} {0}’.format(‘逆境’,’清醒’))

运行结果

清醒 逆境

代  码

# 设置指定位置

print(‘{1} {0} {1}’.format(‘逆境’,’清醒’))

运行结果

清醒 逆境 清醒

代  码

# 设置指定位置

print(‘{1}{3}:{0},{2}!{3}!’.format(‘不能如愿而行’, ‘逆境’,’也须尽力而为’,’清醒’))

运行结果

逆境清醒:不能如愿而行,也须尽力而为!清醒!

代  码print(“{0}{2}{1}”.format(“菠萝”,”雪梨”,”苹果”))
运行结果菠萝苹果雪梨

代  码

运行结果

(3)按关键字索引进行匹配替换

  • 主要格式:print(‘{关键字索引1} {关键字索引2}’.format(关键字索引1=关键字1‘,关键字索引2=关键字2′))

按照关键字索引对format内容进行匹配替换

代  码

print(‘ID:{id},Name:{name}’.format(id=’No008′,name=’逆境清醒’))

运行结果

ID:No008,Name:逆境清醒

代  码

print(“博客名:{name}, 地址:{url}”.format(name=”逆境清醒”, url=”https://blog.csdn.net/weixin_69553582″))

运行结果

博客名:逆境清醒, 地址:https://blog.csdn.net/weixin_69553582

#关键字可以随便放置

代  码

print(“我今年{age}岁,座右铭{motto}”.format(age=”100″,motto=”要有勇气做真实的自己”))

print(“我今年{age}岁,座右铭{motto}”.format(motto=”要有勇气做真实的自己”,age=”100″))

运行结果

我今年100,座右铭要有勇气做真实的自己

我今年100,座右铭要有勇气做真实的自己

代  码print(“ID:{id},水果名:{Cname}”.format(id=”No01″,Cname=”菠萝”))
运行结果ID:No01,水果名:菠萝

(4)通过列表索引格式化字符串

主要格式:

  • 列表名=[‘列表值1‘,’列表值2‘,’列表值3‘…]
  • print(‘{List[列表索引1]},{List[列表索引2]}’.format(List = 列表名))
  • 在format格式化时,可使用* 或者 ** 进行对list拆分。

通过列表索引格式化字符串

代  码

list1=[‘No008′,’逆境清醒’]

print(‘ID:{List[0]},Name:{List[1]}’.format(List = list1))

运行结果

ID:No008,Name:逆境清醒

代  码

#注意正确使用索引值,否则会得出奇怪的答案

list1=[‘No008′,’逆境清醒’]

print(‘ID:{List[1]},Name:{List[0]}’.format(List = list1))

运行结果

ID:逆境清醒,Name:No008

代  码

list1=[‘No008′,’逆境清醒’]

print(‘ID:{0[0]},Name:{0[1]}’.format(list1))

运行结果

ID:No008,Name:逆境清醒

代  码

list1=[‘No008′,’逆境清醒’]

print(‘ID:{0[1]},Name:{0[0]}’.format(list1))

运行结果

ID:逆境清醒,Name:No008

代  码

list1 = [‘逆境清醒’, ‘https://blog.csdn.net/weixin_69553582’]

print(“博客名:{0[0]}, 地址:{0[1]}”.format(list1)) # 0[1]中,‘0’是必须的

运行结果

博客名:逆境清醒, 地址:https://blog.csdn.net/weixin_69553582

代  码

info1 = (“草莓”, “红色”)
info2 = (‘芒果’, ‘黄色’)
print(‘水果名:{0[0]}, 颜色:{0[1]}’.format(info1, info2))
print(‘水果名:{1[0]}, 颜色:{1[1]}’.format(info1, info2))

运行结果

水果名:草莓, 颜色:红色
水果名:芒果, 颜色:黄色
代  码

#注意正确使用索引值,否则会得出奇怪的答案

info1 = (“草莓”, “红色”)
info2 = (‘芒果’, ‘黄色’)
print(‘水果名:{0[1]}, 颜色:{0[0]}’.format(info1, info2))
print(‘水果名:{1[1]}, 颜色:{1[0]}’.format(info1, info2))

运行结果水果名:红色, 颜色:草莓
水果名:黄色, 颜色:芒果
代  码

#注意正确使用索引值,否则会得出奇怪的答案

info1 = (“草莓”, “红色”)
info2 = (‘芒果’, ‘黄色’)
print(‘水果名:{1[0]}, 颜色:{0[1]}’.format(info1, info2))
print(‘水果名:{0[0]}, 颜色:{1[1]}’.format(info1, info2))

运行结果水果名:芒果, 颜色:红色
水果名:草莓, 颜色:黄色
代  码#在format格式化时,可使用* 或者 ** 进行对list拆分
foods = [‘苹果’, ‘雪梨’, ‘草莓’, ‘菠萝’, ‘香蕉’]
s = ‘小白兔喜欢吃 {2} and {0} and {4}’.format(*foods)
print(s)
运行结果小白兔喜欢吃 草莓 and 苹果 and 香蕉

(5)通过字典设置格式化字符串

主要格式:

  • 字典名1={‘字典索引1′:’字典索引1的值’,’字典索引2′:’字典索引2的值’,…}
  • print(‘{字典索引},{字典索引值}’.format(字典名1))
  • 在format格式化时,可使用 ** 进行对字典拆分

通过字典设置格式化字符串

dict1={‘id’:’No008′,’name’:’逆境清醒’}

错误使用方式:

print(‘ID:{Dict[0]},Name:{Dict[1]}’.format(dict1))

会出错:Traceback (most recent call last):

代  码

dict1={‘id’:’No008′,’name’:’逆境清醒’}

print(‘ID:{0[id]},Name:{0[name]}’.format(dict1))

运行结果

ID:No008,Name:逆境清醒

代  码

#在format格式化时,可使用 ** 进行对字典拆分
dict1={‘id’:’No008′,’name’:’逆境清醒’}

print(‘ID:{id},Name:{name}’.format(**dict1))

运行结果

ID:No008,Name:逆境清醒

代  码

site = {“name”: “逆境清醒”, “url”: “https://blog.csdn.net/weixin_69553582”}

print(“博客名:{name}, 地址:{url}”.format(**site))

运行结果

博客名:逆境清醒, 地址:https://blog.csdn.net/weixin_69553582

代  码

info1 = {‘名字’: ‘逆境清醒’, ‘性别’:’女’}

info2 = {‘名字’: ‘蒲公英’, ‘性别’:’女’}

print(‘名字:{0[名字]}, 性别:{0[性别]}; 名字:{1[名字]}, 性别:{1[性别]}’.format(info1, info2))

运行结果

名字:逆境清醒, 性别:; 名字:蒲公英, 性别:

同时使用元组和字典传参

代  码

name1=[“紫悦”,”魔法与友谊”]

name2={“Ponyname”:”云宝”,”skill”:”飞行”}

print(“我是{0},我的绝招是{1}”.format(*name1,**name2))

print(“我是{0},我的绝招是{skill}”.format(*name1,**name2))

print(“我是{Ponyname},我的绝招是{skill}”.format(*name1,**name2))

print(“我是{Ponyname},我的绝招是{1}”.format(*name1,**name2))

运行结果

我是紫悦,我的绝招是魔法与友谊

我是紫悦,我的绝招是飞行

我是云宝,我的绝招是飞行

我是云宝,我的绝招是魔法与友谊

(6)通过类设置格式化字符串

主要格式:

  • 类定义
    class 类名字():
    类内定义 = ‘类值’
    ….
  • print(“{Value.类内定义}”.format(Value = 类名字))

通过类设置格式化字符串

代  码

class value1():
id = ‘No008’
name = ‘逆境清醒’
print(“ID:{Value.id},Name{Value.name}”.format(Value = value1))

运行结果

ID:No008,Name逆境清醒

代  码

class testValue(object):
def __init__(self, value):
self.value = value
ab = testValue(8)
print(“ab=”,ab)
print(“testValue(8)=”,testValue(8))
print(“ID:{Value}”.format(Value = testValue))
print(“ID:{Value.value}”.format(Value = ab))

运行结果

ab=
testValue(8)=
ID:
ID:8

代  码

class Names():
name1=’陌生但有缘的朋友’
name2=’逆境清醒’
print(‘你好! {names.name1},我是{names.name2}’.format(names=Names))

运行结果

你好! 陌生但有缘的朋友,我是逆境清醒

(7)通过魔法函数、参数设置格式化字符串

魔法函数__format__

  • 触 发:使用字符串.format(对象)时候触发
  • 参 数:一个self接收对象,一个参数接收format的{}中的格式,例如:>8
  • 返回值:必须是字符串
  • 作 用:设置对象可以作为format的参数,并且自定义对象格式化的规则
  • 注 意:无

通过魔法参数设置格式化字符串

代  码

class magiccs:
def __format__(self, mstr):
print(“这个参数类型是:”,type(mstr))
print(f”你使用format()函数,叫醒了我–》(逆境清醒留言内容:{mstr})”)
return “@”

magic = magiccs()
format(magic)

运行结果

这个参数类型是:
你使用format()函数,叫醒了我–》(逆境清醒留言内容:)

代  码

class magiccs:
def __format__(self, mstr):
print(“这个参数类型是:”,type(mstr))
print(f”你使用format()函数,叫醒了我–》(逆境清醒留言内容:{mstr})”)
return “@”

magic = magiccs()
format(magic, “2023年,但行前路,不负韶华!”)

运行结果

这个参数类型是:
你使用format()函数,叫醒了我–》(逆境清醒留言内容:2023年,但行前路,不负韶华!)

代  码

class Date:
__format_dic = {
“1”: “{obj.year} – {obj.mon} – {obj.day}”,
“2”: “{obj.year} : {obj.mon} : {obj.day}”,
“3”: “{obj.year} / {obj.mon} / {obj.day}”
}
def __init__(self, Year, Mon, Day):
self.year = Year
self.mon = Mon
self.day = Day

def __format__(self, s_str):
if not s_str or not s_str in self.__format_dic:
f = self.__format_dic[“1”]
else:
f = self.__format_dic[ s_str]
return f.format(obj=self)

mDate = Date(2023, 3, 31)
print(“日期格式(选项为 1 ):”,format(mDate, “1”))
print(“日期格式(选项为 2 ):”,format(mDate, “2”))
print(“日期格式(选项为 3 ):”,format(mDate, “3”))
print(“日期格式(选项为空, 则选择默认):”,format(mDate, ))
print(“日期格式(选项不存在, 则选择默认):”,format(mDate, “3iop”))

运行结果

日期格式(选项为 1 ): 2023 – 3 – 31
日期格式(选项为 2 ): 2023 : 3 : 31
日期格式(选项为 3 ): 2023 / 3 / 31
日期格式(选项为空, 则选择默认): 2023 – 3 – 31
日期格式(选项不存在, 则选择默认): 2023 – 3 – 31

代  码

运行结果

8)通过内嵌替换设置格式化字符串

通过内嵌替换设置格式化字符串

代  码

print(‘Hello {0:{1}>{2}} ‘.format(‘逆境清醒’,’☆’,15))

运行结果

Hello ☆☆☆☆☆☆☆☆☆☆☆逆境清醒

代  码

运行结果

9)其他混搭使用

混搭使用

  • 可以通过索引,参数名来混搭进行匹配。
  • 注意,命名参数必须写道最后。负责会编译报错!
  • 不可以索引和默认格式化混合使用。
  • 支持对参数部分引用,可以通过索引对参数的部分进行取值

其他混搭使用

代  码

fh = [‘ @ ‘,’。’,’!’]
keycs = {‘id’: ‘No008′,’name’: ‘逆境清醒’}
print(‘ID:{id} {}Name:{name}{}{}’.format(*fh, **keycs))

运行结果

ID:No008@ Name:逆境清醒。!

代  码

#命名参数必须写在最后。否则会编译报错!
s = “{},{},说得对吗:{说得对吗}”.format(‘努力不一定成功’, ‘但放弃一定会失败’,说得对吗=”Y”)
print(s)

运行结果

努力不一定成功,但放弃一定会失败,说得对吗:Y

代  码

#命名参数必须写在最后。否则会编译报错!

s1 = “{},{},说得对吗:{说得对吗}”.format(‘努力不一定成功’,说得对吗=”Y”, ‘但放弃一定会失败’)
print(s)

运行结果

SyntaxError: positional argument follows keyword argument

Exited with error status 1

语法错误:位置参数跟在关键字参数后面

已退出,错误状态为 1

代  码

#不可以索引和默认格式化混合使用
s = “{} and{0}”.format(‘Cat’, ‘Dog’, )

print(s)

运行结果

ValueError: cannot switch from automatic field numbering to manual field specification

Exited with error status 1

值错误:无法从自动字段编号切换到手动字段规范

已退出,错误状态为 1

代  码

#不可以索引和默认格式化混合使用
s = “{} and{1}”.format(‘Cat’, ‘Dog’, )

print(s)

运行结果

ValueError: cannot switch from automatic field numbering to manual field specification

Exited with error status 1

值错误:无法从自动字段编号切换到手动字段规范

已退出,错误状态为 1

代  码#可以通过索引对参数的部分进行取值
s = “这是一个{s}, {s[0]} 是颜色”.format(s=”红苹果”)
print(s)
运行结果这是一个红苹果, 红 是颜色

三、用对齐及填充的方式格式化

1)左对齐及填充格式化字符串

  • :<左对齐填充
  • <是左对齐,后面带宽度,

    : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。

    表示左对齐

    %-30s: 左对齐,占位符30

左对齐及填充格式化字符串

代  码

# 15表示占15个字符,-表示左对齐

print(‘%-15s’%’逆境清醒’,end=’@’)

运行结果

逆境清醒 @

代  码

print(‘{:<10}'.format('逆境清醒'),end='@')

运行结果

逆境清醒 @

代  码

# <表示左对齐, ☆表示用☆号进行填充, 10表示共占10个字符

print(‘{:☆<10}'.format('逆境清醒'))

运行结果

逆境清醒☆☆☆☆☆☆

代  码

#左对齐,取30位,不够的话以空格补位

print(“%-30s” % “Adversity Awake”,end=’@’)

运行结果

Adversity Awake @

代  码

#不设置,默认左对齐

print(“{:20s} & {:20s}”.format(“珍惜每一次相识”, “珍惜每一分温暖”))

运行结果

珍惜每一次相识 & 珍惜每一分温暖

代  码

# <表示左对齐,10表示共占10个字符

products=[[“iphone”,6888],[“MacPro”,14800],[“coffee”,32],[“abc”,2499],[“Book”,60],[“Nike”,699],[“MacPro”,45600],[“coffee”,432],[“abc”,244499],[“Book”,6230],[“Nike”,61299],[“MacPro”,14800],[“coffee”,32],[“abc”,2499],[“Book”,60],[“Nike”,699]]

print(“-“*10+”商品列表”+”-“*10)

i=0

for product in products:

print(‘{:<6}\t{:<10}\t{:<10}'.format(str(i), product[0], str(product[1])))

i = i+1

运行结果

编外话:有时需要对齐输出,还可以使用print()+\t 来实现:

代  码print(“学生号\t\t姓名\t\t\t\t\t科目\t\t分数”)
print(“100000101\t阿凡达\t\t\t\t\t语文\t\t80”)
print(“100000102\t卡梅隆卡梅隆\t\t\t语文\t\t85”)
print(“100000103\t莫妮卡·贝鲁卡梅隆\t\t语文\t\t85”)
运行结果

#用多个制表符,对齐完好

代  码print(“%-10s\t %-30s\t %-10s\t %-10s”%(“学生号”,”姓名”,”科目”,”分数”))
print(“%-10s\t %-32s\t %-10s\t %-12s”%(“100000101″,”阿凡达”,”语文”,”80″))
print(“%-10s\t %-30s\t %-10s\t %-12s”%(“100000102″,”卡梅隆卡梅隆”,”语文”,”82″))
print(“%-10s\t %-26s\t %-10s\t %-12s”%(“100000103″,”莫妮卡·贝鲁卡梅隆”,”语文”,”85″))
运行结果

#对齐完好

更多print()函数资料详见:

Python中Print()函数的用法___实例详解(全,例多)https://blog.csdn.net/weixin_69553582/article/details/125403845

(2)右对齐及填充格式化字符串

:>右对齐

  • >是右对齐,后面带宽度,
  • : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。
  • %30s: 右对齐,占位符30

右对齐及填充格式化字符串

代  码

print(‘@”%15s’%’逆境清醒’)

运行结果

@ 逆境清醒

代  码

print(‘@”{:>10}’.format(‘逆境清醒’))

运行结果

@ 逆境清醒

代  码

print(‘@’,'{:☆>10}’.format(‘逆境清醒’))

运行结果

@ ☆☆☆☆☆☆逆境清醒

代  码

# 右对齐,取30位,不够的话以空格补位

print(“@””%30s” % “Adversity Awake”)

运行结果

@ Adversity Awake

代  码

print(“{:20s}”.format(“珍惜每一次相识”, “珍惜每一分温暖”))

运行结果

珍惜每一次相识 & 珍惜每一分温暖

代  码

print(“{:>20s} & {:<20s}".format("珍惜每一次相识", "珍惜每一分温暖"))

运行结果

珍惜每一次相识 & 珍惜每一分温暖

代  码

print(“{} is {:>10.2f}”.format(1.8321, 1.8321))

运行结果

1.8321 is 1.83

3)居中对齐及填充格式化字符串

:^居中对齐

  • ^是居中对齐,后面带宽度,
  • : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。

居中对齐及填充格式化字符串

代  码

print(‘@”{:^10}’.format(‘逆境清醒’),end=’@’)

运行结果

@ 逆境清醒 @

代  码

print(‘@”{:☆^10}’.format(‘逆境清醒’),end=’@’)

运行结果

@☆☆☆逆境清醒☆☆☆@

代  码

print(“{:^20s} & {:^20s}”.format(“珍惜每一次相识”, “珍惜每一分温暖”))

运行结果

珍惜每一次相识 & 珍惜每一分温暖

代  码

print(“{:☆^30s}”.format(” 逆境清醒 “) ) # 居中对齐

运行结果

☆☆☆☆☆☆☆☆☆☆☆☆ 逆境清醒 ☆☆☆☆☆☆☆☆☆☆☆☆

(4)调用函数对齐及填充格式化字符串

  • ljust()函数:左侧对齐
  • rjust()函数:右侧对齐
  • center()函数:字符串居中对齐
  • zfill()函数:右侧对齐, 左侧补0
  • 当len(str1)>width时,输全部字符串

调用函数对齐及填充格式化字符串

代  码

# 字符串左侧对齐, 右侧补❄:

str1 = “逆境清醒”
width = 20

print(str1.ljust(width, ‘❄’))

运行结果

逆境清醒❄❄❄❄❄❄❄❄❄❄❄❄❄❄❄❄

代  码

# 字符串左侧对齐, 右侧补❄:
str1 = “逆境清醒”
width = 20

print(“{}”.format(str1.ljust(width, ‘❄’)) )

运行结果

逆境清醒❄❄❄❄❄❄❄❄❄❄❄❄❄❄❄❄

代  码

# 字符串右侧对齐, 左侧补❄:

str1 = “逆境清醒”
width = 20

print(str1.rjust(width, ‘❄’))

print(“{}”.format(str1.rjust(width, ‘❄’)) )

运行结果

❄❄❄❄❄❄❄❄❄❄❄❄❄❄❄❄逆境清醒
❄❄❄❄❄❄❄❄❄❄❄❄❄❄❄❄逆境清醒

代  码

# center字符串居中对齐, 两侧侧补❄

str1 = “逆境清醒”
width = 20

print(str1.center(width, ‘❄’))

print(“{}”.format(str1.center(width, ‘❄’)) )

运行结果

❄❄❄❄❄❄❄❄逆境清醒❄❄❄❄❄❄❄❄
❄❄❄❄❄❄❄❄逆境清醒❄❄❄❄❄❄❄❄

代  码

# 字符串右侧对齐, 左侧补0

str1 = “逆境清醒”
width = 20
print(str1.zfill(width))
print(“{}”.format(str1.zfill(width)) )

运行结果

0000000000000000逆境清醒
0000000000000000逆境清醒

四、用format函数实现对齐打印

(1)打印左对齐图案

代码:

def show(n):numlast = ""*(2*n-1)width = len(numlast)for i in range(1,2*n,2):print("{:<{}}".format(""*i,width))show(8)

输出结果:

(2)打印右对齐图案

代码:

def show(n):numlast = "0"*(2*n-1)width = len(numlast)width=20for i in range(1,2*n,2):print("{:>{}}".format("0"*i,width))show(8)

输出结果:

(3)打印居中对齐图案

代码:

def show2(n):numlast = "❄"*(2*n-1)width = len(numlast) for i in range(1,2*n,2):print("{:^{}}".format("❄"*i,width))show2(8)

输出结果:

五、其他内容待本系列篇(二)更新

​稍后更新

《 python Format()函数的用法___实例详解(二)(全,例多)》

推荐阅读:

33python Format()函数的用法___实例详解(一)(全,例多)___各种格式化替换,format对齐打印
32Background 全属性实例图解(10种全)(一)
31Element Plus 实例详解(一)___安装设置
30

​​​​​

Vue3安装配置、开发环境搭建(组件安装卸载)(图文详细)
29

SVG实例详解系列(一)(svg概述、位图和矢量图区别(图解)、SVG应用实例)

28

查看jdk安装路径,在windows上实现多个java jdk的共存解决办法,安装java19后终端乱码的解决

27

别具一格,原创唯美浪漫情人节表白专辑,(复制就可用)(html5,css3,svg)表白爱心代码(1)

26

2023年春节祝福第二弹——送你一只守护兔,让它温暖每一个你【html5 css3】画会动的小兔子,炫酷充电,字体特

25

2023春节祝福系列第一弹(上)(放飞祈福孔明灯,祝福大家身体健康)(附完整源代码及资源免费下载)

24

HTML+CSS+svg绘制精美彩色闪灯圣诞树,HTML+CSS+Js实时新年时间倒数倒计时(附源代码)

23

​草莓熊python绘图(春节版,圣诞倒数雪花版)附源代码

22

【程序人生】卡塔尔世界杯元素python海龟绘图(附源代码),世界杯主题前端特效5个(附源码)

21

python爱心源代码集锦(18款)

20

巴斯光年python turtle绘图__附源代码

19

Three.js实例详解___旋转的精灵女孩(附完整代码和资源)(一)

18​​​​​​​​

​草莓熊python turtle绘图代码(玫瑰花版)附源代码

17​​​​​​​​

立体多层玫瑰绘图源码__玫瑰花python 绘图源码集锦

16​​​​​​​​

皮卡丘python turtle海龟绘图(电力球版)附源代码

15​​​​​​​​

【CSDN云IDE】个人使用体验和建议(含超详细操作教程)(python、webGL方向)

14​​​​​​​​

草莓熊python turtle绘图(风车版)附源代码

13​​​​​​​​

用代码过中秋,python海龟月饼你要不要尝一口?

12​​​​​​​​

《 Python List 列表全实例详解系列(一)》__系列总目录、列表概念

11​​​​​​​​

用代码写出浪漫__合集(python、matplotlib、Matlab、java绘制爱心、玫瑰花、前端特效玫瑰、爱心)

10​​​​​​​​

Python函数方法实例详解全集(更新中…)

9​​​​​​​​

matplotlib 自带绘图样式效果展示速查(28种,全)

8​​​​​​​​

手机屏幕坏了____怎么把里面的资料导出(18种方法)

7​​​​​​​​

2023年3月TIOBE 指数头条:编程语言 Go 进入 TIOBE 指数前 10 名,多家权威机构____编程语言排行榜__薪酬状

6​​​​​​​​

Python中Print()函数的用法___实例详解(全,例多)

5​​​​​​​​

色彩颜色对照表(一)(16进制、RGB、CMYK、HSV、中英文名)

4​​​​​​​​

Node.js (v19.1.0npm 8.19.3) vue.js安装配置教程(超详细)

3​​​​​​​​

Tomcat 启动闪退问题解决集(八大类详细)

2​​​​​​​​

Tomcat端口配置(详细)

1​​​​​​​​

tomcat11、tomcat10 安装配置(Windows环境)(详细图文)