一、字符串格式化(% 和 format)

1. % s  主要接收字符串类型,也可以接收任意类型

tp1 = "i am %s my hobby is alex" % 'lhf'
print(tp1)

tp1 = "i am %s my hobby is %s" % ('lhf', 'dabai')
print(tp1)

tp1 = "i am %s my age is %d" % ('lhf', 11)
tp2 = "1 am %s my age is %s" % ('dabai', 12)
print(tp1, tp2, sep="\n")

注意:%d 只接收数字,%s接收任意类型,但是最好物尽其用,便于维护!

2. 打印浮点数,默认保留6位小数,自动四舍五入。

tp1 = "percent %f"% 99.99675854
tp2 = "percent %.3f"% 99.99975854
print(tp1)
print(tp2)

3. 打印百分比

tp1 = "percent %.3f%%"% 99.99635854
print(tp1)

4. 传入值为字典

tp1 = "i am %(name)s age %(age)d" %{"name": "alex", "age": 18}
print(tp1)

tp1 = "i am %(pp).2f" % {"pp": 99.99}
print(tp1)

5. 可选项:+ 右对齐  -左对齐  后面的数字表示宽度, 下面的42控制的颜色

msg = "i am %(name) + 30s my hobby is dabai" % {'name': 'liu'}
msg2 = "i am \033[42;1m%(name) + 30s\033[0m my hobby is dabai" % {'name': 'liu'}
print(msg)
print(msg2)

二、format用法:

1. 按顺序对应

tp1 = "i am {} age {} {}".format("alex", 18, "alex")
print(tp1)

2. 根据后面索引对应

tp1 = "i am {2} age {1} {0}".format("alex", 18, "dabai")
print(tp1)

3. 传入值为字典时,注意前面加两个**

tp1 = "i am {name} age {age} really {name}".format(name = "alex", age = 18)
tp2 = "i am {name} age {age} really {name}".format(**{"name": "alex", "age": 18})
print(tp1)
print(tp2)

4.索引列表对应

tp2 = "i am {0[0]} age {0[1]} really {0[2]}".format(["dabai","22","aaa"],[1,2,3])
print(tp2)

5. 根据类型按顺序输入对应值

tp2 = "i am {:s} age {:d} really {:.2f}".format("dabai", 18, 99.9)
print(tp2)

6. 这种类型下,如果传入值为列表,前面要加 * 号

tp2 = "i am {:s} age {:d} really {:.2f}".format(*["dabai", 18, 99.9])
print(tp2)

7. 不同进制演示(x:小写16进制, X:大写16进制, o: 8 进制,b : 2进制)

tp1 = "number: {:b} {:o} {:d},{:x}, {:X}, {:.2%}".format(15, 15, 15, 15,15,15.2341234)
print(tp1)

tp1 = "number: {0:b} {0:o} {0:d},{0:x}, {0:X}, {0:.2%}".format(15)
print(tp1)

tp1 = "number: {num:b} {num:o} {num:d},{num:x}, {num:X}, {num:.2%}".format(num = 15)
print(tp1)

python课堂整理8---字符串格式化的更多相关文章

  1. Python中print/format字符串格式化实例

    Python 字符串格式化使用 "字符 %格式1 %格式2 字符"%(变量1,变量2),%格式表示接受变量的类型.简单的使用例子如下 # 例:字符串格式化Name = '17jo' ...

  2. Python基础(十五):Python的3种字符串格式化,做个超全对比!

    有时候,为了更方便.灵活的运用字符串.在Python中,正好有3种方式,支持格式化字符串的输出 . 3种字符串格式化工具的简单介绍 python2.5版本之前,我们使用的是老式字符串格式化输出%s. ...

  3. Python开发——数据类型【字符串格式化】

    字符串格式化之——% # 字符串格式化 msg = 'I am %s , My hobby is %s'%('yuan','play') print(msg) # I am yuan , My hob ...

  4. python的三种字符串格式化方法

    1.最方便的 print 'hello %s and %s' % ('df', 'another df') 但是,有时候,我们有很多的参数要进行格式化,这个时候,一个一个一一对应就有点麻烦了,于是就有 ...

  5. 从零开始的Python学习Episode 3——字符串格式化与for循环

    一.字符串格式化 利用一段注释记录想要输出的字符串格式,并用 %s . %d 或 %f 依次代替要输出的数据(%s代表字符串,%d代表数字,%f代表浮点数),然后在这段注释之后依次加上要输出的数据. ...

  6. python的2种字符串格式化输出

    字符串格式化代码(typecode) 法一: %格式使用下面的格式 %[(name)] [flags] [width][.precision] typecode (name)输出字典的value使用, ...

  7. python课堂整理19----迭代器和生成器

    一.概念 • 迭代器协议: 对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么引起一个stopIteration异常,以终止迭代(只能往后走,不能往前退) • 协议是一种约定,pyt ...

  8. python课堂整理18---文件操作(下)

    一.b模式,字节方式(二进制的单位),rb wb ab f = open('test.py', 'rb', encoding = 'utf-8') 报错,因为用了b模式,就不能再指定编码格式了,已经指 ...

  9. python课堂整理4---列表的魔法

    一.list   类, 列表 li = [1, 12, 9, "age", ["大白", "小黑"], "alex"] ...

随机推荐

  1. Spring cloud stream【入门介绍】

    案例代码:https://github.com/q279583842q/springcloud-e-book   在实际开发过程中,服务与服务之间通信经常会使用到消息中间件,而以往使用了哪个中间件比如 ...

  2. Tido 习题-二叉树-树状数组实现

    题目描述 这就是一个简单的树状数组入门题 可以动态地进行区间和查询 随时可能会进行更新   #include<iostream> #include<cstdio> #inclu ...

  3. spring boot 2.x 系列 —— spring boot 整合 servlet 3.0

    文章目录 一.说明 1.1 项目结构说明 1.2 项目依赖 二.采用spring 注册方式整合 servlet 2.1 新建过滤器.监听器和servlet 2.2 注册过滤器.监听器和servlet ...

  4. JS的第一天,精彩内容

    1.JS 介绍 js的全称是JavaScript,它是一门前台语言 Java是一门后台语言 ,它们两个之间毫无关系 JavaScript的作者是布兰登,艾奇 前台语言:运行在客户端 后台语言:与数据库 ...

  5. 【疑难杂症】windows下如何有效重装印象笔记

    重装这么简单的操作还用得着写篇文章吗??emmmm,言之有理,简单的重装就是卸载后重新下载最新的安装包然后安装就完事了,这里说的肯定是不简单的重装[滑稽]. 背景是这样的,之前在mac上对印象笔记的笔 ...

  6. VIM技巧, .vimrc文件

    将 .vimrc文件上传到用户家目录下 文件内容如下: autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()&quo ...

  7. [apue] 等待子进程的那些事儿

    谈到等待子进程,首先想到的就是SIGCHLD信号与wait函数族,本文试图厘清二者的方方面面,以及组合使用时可能不小心掉进去的坑. 1. 首先谈单独使用SIGCHLD的场景.下面是一段典型的代码片段: ...

  8. leetcode的Hot100系列--136. 只出现一次的数字

    因为之前刚写了461号题目,这个题目与那个很相似, 461号题目用异或来算两个不一样的部分, 那这个题目需要排除一样的部分,并找到不一样的部分. 那么可以再利用一下异或的特性: 1.相同为0,所以,a ...

  9. Android实现跳转到应用市场进行版本更新功能

    最近需要做应用版本更新功能,因为之前已经写过一篇版本更新的功能了,虽然请求接口还是用的HttpUrlConnection,想着改改现在应用使用的请求方式也挺快的嘛,心里开始暗喜,可以偷偷懒了,哈哈哈. ...

  10. 【全网首发】使用vs2017+qt5.12.4编译64位debug和release的qgis3.4.9

    一.摘要: 搜索网络没有发现一篇文章完整的介绍如何编译qgis3.4.x的debug版本,官方的指导也长时间不再更新. 所以前前后后花了4天搞定qgis的debug编译,并成功运行,废话不多说,直接上 ...