在字符串中要print的’{‘或者’}’,用‘{{’或者‘}}’来表示:
例如

    print("(a_Plus_b [{:>3d}] == a_Plus_b [{:>3d}]) ? {{a_Plus_b[{:>3d} -: 13],1'b0}} : a_Plus_b[{:>3d} -: 14];".format(i*step+13,i*step+12,i*step+12,i*step+13))

下文是转载的关于format的具体用法,原文地址:http://www.chenxm.cc/article/237.html:


format 基本语法是通过 {} 和 : 来代替以前的 % 。

format 函数可以接受不限个参数,位置可以不按顺序。

format基本用法

"Hello {0} {1}".format("Chen","xin") # 引用第一个参数
# 输出 'Hello Chen xin'
"{} is cute".format("Chen xin") # 引用第一个参数
# 输出 'Chen xin is good'
"My name is {name}".format(name="Chen xin") # 引用名字为name的参数
# 输出 'My name is Chen xin'

1. 类型转换

  • !s

  • !r

"Chen xin is a cute {!s}".format("baby") # !s 相当于对于参数调用str()
# 输出 'Peppa pig is a cute baby'
"Chen xin is a cute {!r}".format("baby") # !r 相当于对于参数调用repr()
# 输出 "Peppa pig is a cute 'baby'"

2. 通过位置来填充字符串

print('{0}, {1}, {2}'.format('a', 'b', 'c'))  # a, b, c
print('{}, {}, {}'.format('a', 'b', 'c'))     # a, b, c
print('{2}, {1}, {0}'.format('a', 'b', 'c'))  # c, b, a
print('{2}, {1}, {0}'.format(*'abc'))         # c, b, a
print('{0} {1} {0}'.format('aa', 'bb'))         # aa bb aa

同一个参数可以填充多次,这个是format比%先进的地方

3. 按名称访问参数

print('name: {last_name}{first_name}'.format(last_name='chen', first_name='xin'))
# name: chenxin
name= {'last_name': 'chen', 'first_name': 'xin'}
print('name: {last_name}, {first_name}'.format(**name))
# name: chenxin

4. 通过参数属性访问

class MyList:def __init__(self, x, y):self.x, self.y = x, ydef __str__(self):return 'MyList({self.x}, {self.y})'.format(self = self)
print(str(MyList('陈新明', 'www.chenxm.cc')))
# 网站名:陈新明, 地址 www.chenxm.cc

5. 通过参数的items访问

my_list = ['陈新明', 'www.chenxm.cc']print("网站名:{0[0]}, 地址 {0[1]}".format(my_list))  # "0" 是必须的
# 网站名:陈新明, 地址 www.chenxm.cc

6. 对齐字符串

"{:>5}".format(1) # 设置宽度为5,右对齐
"{:>5}".format(10)
"{:>5}".format(100)
"{:>5}".format(1000)
# 输出下面的结果
'    1'
'   10'
'  100'
' 1000'
print('{:_<30}'.format('left aligned'))
#'left aligned__________________'
print('{:_>30}'.format('right aligned'))
#'__________________right aligned'
print('{:_^30}'.format('centered'))
#'__________________centered__________________'
  • ^   居中     后面带宽度,

  • <   左对齐 后面带宽度,

  • >   右对齐 后面带宽度,

  •  :   号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。

7. 截断字符串

'{:.5}'.format('Hello Chen') # 截取前5个字符
# 输出 'Hello'

8. 数字格式化

print("{:.2f}".format(3.1415926));
# 3.14
  • + 表示在正数前显示 +,

  • -  负数

  • (空格) 表示在正数前加空格

  • b  二进制

  • d  十进制

  • o  八进制

  • x  十六进制

更多样式

9. 使用逗号作为千位分隔符

print('{:,}'.format(1234567890))
#'1,234,567,890'

10. 表示一个百分比

print('number: {:.2%}'.format(0.61898))
# number: 61.90%

11. 时间格式化

import datetime
d = datetime.datetime(2018, 7, 31, 15, 58, 58)
print('{:%Y-%m-%d %H:%M:%S}'.format(d))
# 2018-07-31 15:58:58

12. 访问元组中的元素

a = (1,2)
'X: {0[0]};  Y: {0[1]}'.format(a)
# 输出 'X: 1;  Y: 2'
# 注意:用%格式化字符串不支持此功能

13. 访问字典中的元素

people = {"name": "Chen", "age": 18}
"My name is {p[name]} and my age is {p[age]}".format(p=people )
# 输出 'My name is Chen and my age is 18'
# 注意:用%格式化字符串不支持此功能

Python使用format输出时还想输出‘{‘,‘}‘的方法相关推荐

  1. 实验4.1对任意一个一维数组,从中找出数组元素的最大值和最小值并输出 。 要求: 1)数组有10个元素; 2)使用scanf函数实现数组元素的输入,输入前给出必要的提示信息; 3)输出时,首先输出数组

    /*SY4.1 题目描述 对任意一个一维数组,从中找出数组元素的最大值和最小值并输出 . 要求: 1)数组有10个元素: 2)使用scanf函数实现数组元素的输入,输入前给出必要的提示信息: 3)输出 ...

  2. why在重写equals时还必须重写hashcode方法

    首先我们先来看下String类的源码:可以发现String是重写了Object类的equals方法的,并且也重写了hashcode方法 public boolean equals(Object anO ...

  3. python语句太长时,想换行怎么办

    在换行处加反斜杠"\"即可,且第二行可随意缩进 # 比如这句 df[['a','b']].groupby('a').agg({'num':'sum','amount':'sum'} ...

  4. 使python脚本在运行时可以附带参数的方法

    sys模块获取单纯的参数 python demo.py a b c $ cat demo.py #-*- coding: UTF-8 -*- import os import sysdef demo( ...

  5. python输出结果换行_python输出时如何换行

    在我们常用的print()方法进行输出时,通常输出结果是整行显示出来的,这时候我们需要考虑一下,我们输出的结果需不需要换行? 不需要换行的方法也是so esay的,这里就不多赘述了,来说说如何做到输出 ...

  6. java控制台中文乱码_java用控制台输出时出现乱码怎么办

    java用控制台输出时出现乱码怎么办 发布时间:2020-06-26 16:00:24 来源:亿速云 阅读:113 作者:Leah java用控制台输出时出现乱码怎么办?相信很多没有经验的人对此束手无 ...

  7. java poll()是什么方法,JAVA学习中的一点小发现:LinkedList中.poll()方法在输出时使用应注意的小点...

    在学习JAVA类集一章中关于LinkedList子类中.poll()方法易错点的分析心得 例如如下代码: package Test; import java.util.LinkedList; publ ...

  8. linux 输出到文件 新,如何将Linux命令输出保存到文件的两种方法

    本篇文章分享了如何将Linux命令行输出保存到文件中.文章分享了两种方法:一种是使用Linux IO重定向符号,一种是使用tee命令.tee命令比Linux IO重定向符号更好用. 当您在Linux终 ...

  9. python定义数列每项的变量__Python定义方法

    def 定义一个方法 在项目编程中,我们往往要做很多重复的事,比如一个排序的功能(当然Python中内置排序的方法),在编程中,我们肯定是会多次用到这个功能的,如果我们每次都在要用这个功能时,都去写一 ...

最新文章

  1. 各种好的开源项目-转载
  2. const与#define相比,区别和优点超详解总结
  3. post和get的区别?
  4. 前端编码规范,个人感觉bootstrap总结的不错,拿出来给大家分享
  5. python3 用pygame 简单建一个飞船模型
  6. 现代人的压力和焦虑_设计师如何建立减少焦虑和压力的体验
  7. 什么情况创建索引?什么情况不创建索引?MySQL如何避免索引失效?
  8. 0元包邮 | 知识图谱学习导图
  9. 服务器Context、虚拟主机配置(管理、配置)
  10. 如何在 M1 Mac 上运行Intel架构的应用程序?
  11. @enableautoconfiguration注解作用_Spring Boot最核心的27个干货注解,你了解多少?
  12. Altium Designer AD 2019最新封装库下载,原理图库PCB库
  13. Linux并非无毒 十五年病毒简史
  14. 『Nginx』Nginx部署Https 443转发
  15. 《思考力---引爆无限潜能》书摘(一)
  16. 【Cesium】加载互联网地图服务——高德地图
  17. 8脚51单片机DIY时间显示+闹钟技术分享(一)
  18. css3动画让风车转起来
  19. telegram自动发信息_zabbix调用telegram机器人发送报警消息
  20. [NAS] Synology (群晖) DSM7.0 使用自定义供应商DDNS

热门文章

  1. 自媒体多平台分发教程
  2. RealSense RGBD 深度摄像头 D435i 、D455 硬件结构及各个组件原理详解
  3. 文案怎么写,为什么写不出好的文案
  4. 神经疾病都很严重吗?这4种病不需要特别治疗,别乱花钱
  5. 3dmax uv贴图方法大全
  6. 逻辑推理——弟弟的编程课
  7. 「武汉理工大学 软件工程复习」第四章 | 面向对象 UML建模
  8. FTP服务搭建(linux)
  9. dui UIDesigner代码问题修改与使用方法
  10. icp光谱仪的工作原理_你知道ICP光谱仪的工作原理吗?