字符串的格式化

  1. 顺序传参
  2. 索引传参
  3. 关键字传参
  4. 容器类型传参(列表和元组)

{}相当于占位符

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字符串的格式化的更多相关文章

  1. python 字符串的格式化

    python字符串的格式化分为两种:1)% 方式    2)str.format()  方式. str.format() 是比 % 较新的方式, 大多数的 Python 代码仍然使用 % 操作符.但最 ...

  2. Python字符串与格式化的一点用法

    #python的基本语法网上已经有很多详细的解释了,写在这里方便自己记忆一些 1.python于C语言不同的是,python没有字符的概念,所谓的字符就是长度为1的字符串,使用切片或者索引同样可以对字 ...

  3. python - 字符串的格式化输出

    # -*- coding:utf-8 -*- '''@project: jiaxy@author: Jimmy@file: study_2_str.py@ide: PyCharm Community ...

  4. Python字符串类型格式化之format方法

    python字符串格式化一般使用 format() 方法,用法如下: <模板字符串>.format(<逗号分割的参数>) 其中模板字符串中可以由一个或多个 {} 组成的 槽 , ...

  5. python字符串的格式化

    # -*- coding:utf-8 -*- """ @Author:janson @Date:2018/8/1 @File:StrFormat.py "&qu ...

  6. Python字符串的格式化,看这一篇就够了

    相信很多人在格式化字符串的时候都用"%s" % v的语法,PEP 3101 提出一种更先进的格式化方法 str.format() 并成为 Python 3 的标准用来替换旧的 %s ...

  7. 『无为则无心』Python基础 — 10、Python字符串的格式化输出

    目录 1.什么是格式化输出 2.Python格式化输出的五种方式 方式一:字符串之间用+号拼接 方式二:print()函数可同时输出多个字符串 方式三:占位符方式 方式四:f格式化方式(推荐) 方式五 ...

  8. python字符串的格式化输出

    很多时候我们在打印输入内容时希望有简单格式而不是拼接 一般做法: name = input("name:").strip() age = input("age:" ...

  9. 【Python④】python恼人的字符串,格式化输出

    恼人的字符串 计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.由于计算机是美国人发明的,因此,最早只有127个字母被编码到计算机里,也就是大小写英文字母.数字和一些符号,这个编码 ...

随机推荐

  1. XSS-change通关历程

    Level1:没有过滤. <script>alert(1)</script> <svg/onload=alert(1)> <script>confirm ...

  2. 前端面试回顾(1)---javascript的面向对象

    前言 前一阵面试,过程中发现问到一些很基础的问题时候,自己并不能很流畅的回答出来.或者遇到一些基础知识的应用,由于对这些点理解的不是很深入,拿着笔居然什么都写不出来,于是有了回顾一下这些基础知识的想法 ...

  3. 广告成本控制-PID算法

    今天我们来聊聊广告成本控制中常用的PID算法. 0.PID算法简介 首先我们可以看下维基百科中给PID算法的定义:由比例单元(Proportional).积分单元(Integral)和微分单元(Der ...

  4. Debian10 安装MyCLI

    1 概述 Debian10安装MyCLI. 环境: Debian10 Python3.7 2 准备环境 2.1 Python 首先确保安装了Python: apt install python3 若是 ...

  5. 如何把 Caffeine Cache 用得如丝般顺滑?

    一.关于 Caffeine Cache 在推荐服务中,虽然允许少量请求因计算超时等原因返回默认列表.但从运营指标来说,越高的"完算率"意味着越完整的算法效果呈现,也意味着越高的商业 ...

  6. 1067 Sort with Swap(0, i)

    Given any permutation of the numbers {0, 1, 2,..., N−1}, it is easy to sort them in increasing order ...

  7. hdu1572 水搜索

    题意: 中文的不解释; 思路:           其实就是一个水的搜索,直接搜索不会超时,还有别跑最短路了,题目没要求跑最短路,别读错题,刚开始自己嘚嗖的跑了一边最短路 wa了 ,正好最近看了STL ...

  8. UVA11248 网络扩容(枚举割边扩充)

    题意:      给你一个有向图,问你从1到n的最大流是多少?如果流量大于等于C那么直接输出一个串,否则输出只扩充一条边的流量就可以达到1->n大于等于C的所有边,如果扩充不了就输出另一个串.S ...

  9. hdu3472 混合欧拉

    题意:       给你一些字符串,有的字符串反过来也有意义,题目问给的这n个字符串是否可以首尾相连,组成一个串. 思路:       算是混合欧拉的基础题目了,混合欧拉就是专门处理这类问题的,先说下 ...

  10. Win64 驱动内核编程-11.回调监控进线程句柄操作

    无HOOK监控进线程句柄操作 在 NT5 平台下,要监控进线程句柄的操作. 通常要挂钩三个API:NtOpenProcess.NtOpenThread.NtDuplicateObject.但是在 VI ...