[python学习笔记] String格式化

时间:2022-01-21 03:50:48

格式化

S % (args...) 方式

  • 特点

    str里的占位符同java里的占位符。

  • 优势

    这种方式可以限定格式化的时候接受的数据类型。

  • 常见占位符

    • %d 接收数字,格式化为 十进制
    • %x 接收数字,格式化为 十六进制
    • %f 接受数字。格式化为浮点数
      • %.nf的方式可以指定 小数点有效位
      • %.2f 保留两位小数点
    • %s 接受任意类型,格式化为字符串。
  • 范例

    msg = '%s 回家吃饭,外边一碗面%.2f块钱,还有%x钱'
    print(msg%('旺财',10,255))

    输出

    旺财 回家吃饭,外边一碗面10.00块钱,还有0xff钱

S.format(args...)

  • 位置参数

    使用 {} 或者 {xx} 做占位符。

    大括号的内容相当于占位符。

    参数可以是索引,从0开始。 也可以是关键字

    注意,可以不加索引或关键字,但是不能混用。三种方式不能混用下边代码也正常运行

    print('姓名 {},体重 {}'.format('狗蛋',120))
    # 通过索引 可以使用多次
    print('姓名 {0},体重 {1},再次体重{1}'.format('狗蛋',120))
    # 通过关键字也可以使用多次
    print('姓名{name} 体重{weight}, 再次体重{weight}'.format(name='狗蛋',weight=120)) # 混用报错
    print('姓名 {0},体重 {}'.format('狗蛋',120)) # 错误
  • 填充与对齐:这个超级炸

    • 格式:
    位置或关键字参数 : 补齐符号  对齐方式符号 字符个数
    eg: {1:*^8}
    位置或关键字参数: 1 代表位置。
    分隔符: :
    补齐符号: * 表示不足用*补齐。 如果没有,使用空格
    对齐方式符号:^ 代表
    字符个数: 8 格式化为8位
    • 对齐符号

      • ^ 居中对齐. 两侧补足
      • < 左对齐。右侧补足
      • > 右对齐。 左侧补足
    • 示例

    print('姓名 {:^4},体重 {}'.format('狗蛋',120))#姓名  狗蛋 ,体重 120
    print('姓名 {0:-<4},体重 {1:_>8}'.format('狗蛋',120))#姓名 狗蛋--,体重 _____120
    print('姓名 {name:*^4},体重 {age:#^8}'.format(name='狗蛋',age=120))#姓名 *狗蛋*,体重 ##120###
  • 浮点数精度

    • 格式
    {位置或关键字:.nf}
    • 范例
    print('{0:.2f}'.format(12)) #12.0
    print('{0:-<8.2f}'.format(12)) #对齐混合使用 12.00---
  • 进制

    • b 二进制
    • o 八进制
    • d 十进制
    • x 十六进制
    • 范例
    print('{0:d}'.format(12)) #12
    print('{:x}'.format(12)) #c
    print('{:#^8x}'.format(12)) #余对齐混合使用 ###c####
  • 千分位

    • 格式
    {xx:,}
    • 范例
    print('{:,}'.format(1024567.3)) # 1,024,567.3
    print('{:,.3f}'.format(1024567.3)) # 与精度混用: 1,024,567.300
    print('{:+>16,.3f}'.format(1024567.3)) #与对齐混用: +++1,024,567.300

[python学习笔记] String格式化的更多相关文章

  1. python学习笔记 &vert; strftime&lpar;&rpar;格式化输出时间

    time模块 import time t = time.strftime("%Y-%m-%d %H:%M:%S") print(t) datetime模块 import datet ...

  2. python学习笔记--字符串格式化

    字符串和常量 print(r'hello\py\thon') r 代表后面字符不进行转义,原样输出; 表示常量,命名时变量名字大写代表常量.NAME = 'liulixue'; 字符串表示:' ', ...

  3. Python学习笔记:格式化输出

    %d digit%s string%f float程序运用:name = input("please input your name:")age = int(input(&quot ...

  4. Python学习笔记(十一)

    Python学习笔记(十一): 生成器,迭代器回顾 模块 作业-计算器 1. 生成器,迭代器回顾 1. 列表生成式:[x for x in range(10)] 2. 生成器 (generator o ...

  5. Python学习笔记之常用函数及说明

    Python学习笔记之常用函数及说明 俗话说"好记性不如烂笔头",老祖宗们几千年总结出来的东西还是有些道理的,所以,常用的东西也要记下来,不记不知道,一记吓一跳,乖乖,函数咋这么多 ...

  6. Python 学习笔记(上)

    Python 学习笔记(上) 这份笔记是我在系统地学习python时记录的,它不能算是一份完整的参考,但里面大都是我觉得比较重要的地方. 目录 Python 学习笔记(上) 基础知识 基本输入输出 模 ...

  7. python学习笔记--Django入门四 管理站点--二

    接上一节  python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...

  8. python学习笔记(五岁以下儿童)深深浅浅的副本复印件,文件和文件夹

    python学习笔记(五岁以下儿童) 深拷贝-浅拷贝 浅拷贝就是对引用的拷贝(仅仅拷贝父对象) 深拷贝就是对对象的资源拷贝 普通的复制,仅仅是添加了一个指向同一个地址空间的"标签" ...

  9. Python学习笔记(十)

    Python学习笔记(十): 装饰器的应用 列表生成式 生成器 迭代器 模块:time,random 1. 装饰器的应用-登陆练习 login_status = False # 定义登陆状态 def ...

随机推荐

  1. JavaScript 随笔1

    第一章 JavaScript实现 JavaScript由三个不同部分组成: ECMAScript,提供核心语言功能 DOM,提供访问和操作网页内容的方法和接口 BOM,提供与浏览器交互的方法和接口. ...

  2. Topcoder SRM 626 DIV2 SumOfPower

    本题就是求所有连续子数列的和 开始拿到题目还以为求的时数列子集的和,认真看到题目才知道是连续子数列 循环遍历即可 int findSum(vector <int> array) { ; ; ...

  3. SQL总结(七)查询实战

    SQL总结(七)查询实战 一.场景 给定一个场景,学生选课系统为例,大家很熟悉. 主要关系: 学生(学号.姓名.年龄.性别) 教师(教师ID,教师姓名) 课程(课程ID,课程名称,任教教师ID) 成绩 ...

  4. 深入剖析Classloader&lpar;二&rpar;--根类加载器,扩展类加载器与系统类加载器

    原文地址:http://yhjhappy234.blog.163.com/blog/static/31632832201152555245584/?suggestedreading&wumii ...

  5. javaweb学习总结&lpar;四十七&rpar;——监听器&lpar;Listener&rpar;在开发中的应用

    监听器在JavaWeb开发中用得比较多,下面说一下监听器(Listener)在开发中的常见应用 一.统计当前在线人数 在JavaWeb应用开发中,有时候我们需要统计当前在线的用户数,此时就可以使用监听 ...

  6. PHP学习笔记--1,不总结,不掌握,不明白!

    不总结,不掌握,不明白! 前言: 学php一开始就是语法,变量,数组,函数,OOP(面向对象[封装,继承,多态,抽象]) 这些都是最基础的东西,但你还要懂一些在实际开发中要用的东西,比如基本的HTML ...

  7. &lbrack;Swift&rsqb;LeetCode1025&period; 除数博弈 &vert; Divisor Game

    Alice and Bob take turns playing a game, with Alice starting first. Initially, there is a number N o ...

  8. phpcas 整合 ecms的问题

    如果有ecms整合phpCAS经验的小伙伴可以给我留言,有偿付费 需求是:ecms登录自动跳转到CAS认证(已完成),认证后直接跳转到帝国cms系统中,并保持帝国cms系统权限等都和以前一样 正常使用 ...

  9. Vue cli 脚手架使用

    1:基本的安装 安装node 安装npm Windows 更改环境变量 重启 环境变量生效 安装vue-cli 安装webpack 2:项目构建 https://segmentfault.com/a/ ...

  10. redis-cluster 集群搭建详细指南及常见问题集合

    只当个搬运工吧 搭建篇:https://www.cnblogs.com/mafly/p/redis_cluster.html  测试能用 常见问题: 1 redis操作key时出现以下错误 (erro ...