010.Python字符串的格式化
Posted 战五渣
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了010.Python字符串的格式化相关的知识,希望对你有一定的参考价值。
字符串的格式化
- 顺序传参
- 索引传参
- 关键字传参
- 容器类型传参(列表和元组)
{}相当于占位符
1 顺序传参
strvar = "他{}牺牲自己,{}出卖组织" res = strvar.format("宁愿","也不") print(res) res = strvar.format("白白","忘了") print(res)
执行
[root@node10 python]# python3 test.py 他宁愿牺牲自己,也不出卖组织 他白白牺牲自己,忘了出卖组织
2 索引传参
strvar = "他{1}牺牲自己,{0}出卖组织" res = strvar.format("宁愿","也不") print(res) res = strvar.format("忘了","白白") print(res)
执行
[root@node10 python]# python3 test.py 他也不牺牲自己,宁愿出卖组织 他白白牺牲自己,忘了出卖组织
3 关键字传参
strvar = "他{word0}牺牲自己,{word1}出卖组织" res = strvar.format(word0="宁愿",word1="也不") print(res) res = strvar.format(word1="忘了",word0="白白") print(res)
执行
[root@node10 python]# python3 test.py 他宁愿牺牲自己,也不出卖组织 他白白牺牲自己,忘了出卖组织
4 容器类型传参
strvar = "他{0[0]}牺牲自己,{1[0]}出卖组织" res = strvar.format(["宁愿","害怕","与其","宁愿"],["也不","所以","也不","也要"]) print(res) strvar = "他{0[1]}牺牲自己,{1[1]}出卖组织" res = strvar.format(["宁愿","害怕","与其","宁愿"],["也不","所以","也不","也要"]) print(res) strvar = "他{0[2]}牺牲自己,{1[2]}出卖组织" res = strvar.format(["宁愿","害怕","与其","宁愿"],["也不","所以","也不","也要"]) print(res)
执行
[root@node10 python]# python3 test.py 他宁愿牺牲自己,也不出卖组织 他害怕牺牲自己,所以出卖组织 他与其牺牲自己,也不出卖组织
第二种写法
format 格式化时, 要注意如果是字典,不要加引号.
strvar = "他{group2[0]}牺牲自己,{group1[jiusuan]}出卖组织" res = strvar.format(group1 = {"jiusuan":"也要","为了":"努力"},group2=["绝不","除非"]) print(res)
执行
[root@node10 python]# python3 test.py 他绝不牺牲自己,也要出卖组织
5 format填充符号的使用
^ 原字符串局中 < 原字符串局左 > 原字符串局右
填充
strvar = "他{jiusuan:*^10}牺牲自己,{yeyao:>>8}出卖组织" res = strvar.format(jiusuan="就算",yeyao="也要") print(res) strvar = "他{reai:*^10}牺牲自己,{gengai:!<8}出卖组织" res = strvar.format(reai="热爱",gengai="更爱") print(res)
执行
[root@node10 python]# python3 test.py 他****就算****牺牲自己,>>>>>>也要出卖组织 他****热爱****牺牲自己,更爱!!!!!!出卖组织
6 占位符
:d 整型占位符
:f 浮点型占位符
:s 字符串占位符
:, 金钱占位符
示例
strvar = "一周有{:d}天" res = strvar.format(7) print(res) strvar = "一周有{:3d}天" res = strvar.format(7) print(res) strvar = "一周有{:^10d}天" res = strvar.format(7) print(res) strvar = "一周有{:<10d}天" res = strvar.format(7) print(res) strvar = "一周有{:>10d}天" res = strvar.format(7) print(res)
执行
一周有7天 一周有 7天 一周有 7 天 一周有7 天 一周有 7天
7 关键字的使用
pass / break / continue
pass 过 起到占位的作用
例如
if 5 == 5:
是因为没有结束符
if 5 == 5: pass
再次执行就不会报错,起到一个占位的作用
break 只能应用在循环当中 用于终止当前循环
i = 1 while i<=10: if i == 5: break print(i) i+=1 i = 1 while i<=3: j = 1 while j<=3: print(i,j) if j == 2: break # 终止当前所在的循环 j+=1 i+=1
执行
[root@node10 python]# python3 test.py 1 2 3 4 1 1 1 2 2 1 2 2 3 1 3 2
continue 跳过当前循环,从下一次循环开始
打印1~10 不打印5
i = 1 while i<=10: if i == 5: i+=1 continue print(i) i+=1
执行
[root@node10 python]# python3 test.py 1 2 3 4 6 7 8 9 10
打印所有1~100 不含有4的数
# 方法一 i = 1 while i <= 100: if "4" in str(i): i+=1 continue print(i) i+=1 # 方法二 i = 1 while i<=100: if i // 10 == 4 or i % 10 == 4: i+=1 continue print(i) i+=1
以上是关于010.Python字符串的格式化的主要内容,如果未能解决你的问题,请参考以下文章