字符串的格式化

  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. canvas判断点是否在路径内

    应用场景 我们的项目中有个功能是,canvas上的某个图片选中后可以再这个图片上用鼠标拖拽绘制画笔线条. 当然绘制的边界要控制在图片大小范围内的,那么鼠标是可以随意动的,怎么能控制只在图片上的时候才绘 ...

  2. 动态语言 VS 静态语言

    静态语言 VS 动态语言 动态语言 是一类在运行时可以改变其结构的语言:例如新的函数.对象.甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化.通俗点说就是在运行时代码可以根据某些条件改变自 ...

  3. docker命令快速入门

    docker快速入门系列 Docker hello world hello world $ docker run ubuntu:15.10 /bin/echo "Hello world&qu ...

  4. 自动化kolla-ansible部署ubuntu20.04+openstack-victoria之配置环境-05

    自动化kolla-ansible部署ubuntu20.04+openstack-victoria之配置环境-05 欢迎加QQ群:1026880196 进行交流学习 #全部节点执行如下操作 1. 安装常 ...

  5. vue Element-ui 表格多选 修改选中行背景色

    实现的效果: 整体思路方式: 1.给获取到的数据添加自定义的className 2.在点击行(row-click)和手动点击勾选框的事件(select-all)中获取到当前的row的className ...

  6. 【pytest官方文档】解读fixtures - 3. fixtures调用别的fixtures、以及fixture的复用性

    pytest最大的优点之一就是它非常灵活. 它可以将复杂的测试需求简化为更简单和有组织的函数,然后这些函数可以根据自身的需求去依赖别的函数. fixtures可以调用别的fixtures正是灵活性的体 ...

  7. 数据结构之栈(JavaScript描述)

    栈数据结构   栈是一种遵从后进先出原则的有序集合.新添加或待删除的元素都保存在栈的同一端,称为栈顶,另一端就叫栈底.在栈内,锌元素都靠近栈顶,救援都接近栈底 类似栈的例子   栈也被用在编程语言你的 ...

  8. 1049 Counting Ones

    The task is simple: given any positive integer N, you are supposed to count the total number of 1's ...

  9. Vue method与computed的区别

    为了说明method与computed的区别,在此我想先来看看computed属性在vue官网中的说法: 模板内的表达式是非常便利的,但是它们实际上只用于简单的运算.在模板中放入太多的逻辑会让模板过重 ...

  10. 给HTML5 Video 设置多语言字幕文件

    现在各种支持HTML5的浏览器都能够播放html5视频了,但是对于字幕的支持却很少,我们期待像DVD那样强大的字幕. 往往我们还不得不通过js来做,着实是一件痛苦的事情. 现在IE10率先对HTML5 ...