python3.6后支持3种格式化输出方式,其中前两种为%-formatting及str.format ,第三种即为 f-string。

1.%-formatting

据传该格式化方法源于C..

>>>username = input("请输入用户名:")
>>>pwd = input("请输入密码:")
>>>print("用户名为:%s,密码为:%s" %(username, pwd))
用户名为:张三,密码为:123456

%后字符含义:

  • %s:str,字符类型,用str()方法处理对象
  • %d(i):decimal,十进制数
  • %x: hex, 十六进制数
  • %f: float,浮点数
  • %r:类似于%s类型,用rper()方法处理对象,此外用%r打印时能够重现它所代表的对象 (拓展:Difference between __str__ and __repr__

指定长度:

  • %5d:右对齐,不足左边补空格
  • %-5d:- 代表左对齐,不足右边默认补空格
  • %05d:右对齐,不足左边补0

浮点数:

  • %f: 默认是输出6位有效数据, 会进行四舍五入
  • %.8f:指定小数点位数的输出,保留小数点后8位
  • %4.8f:4代表整个浮点数的长度,包括小数,只有当字符串的长度大于4位才起作用

2.str.format

例:格式化输出

------------ info of XXX ------------
Name : XXX
Age : 25
job : XXXX
Hobby: XXXXX
------------------ end ----------------

2.1不带编号

name = "XXX"
age = 25
job = "XXXX"
hobby = "XXXXX" print("""
------------ info of {} ------------
Name : {}
Age : {}
job : {}
Hobby: {}
------------------ end ------------------
""".format(name, name, age, job, hobby))

2.2带编号

name = "XXX"
age = 25
job = "XXXX"
hobby = "XXXXX" print("""
------------ info of {0} ------------
Name : {0}
Age : {1}
job : {2}
Hobby: {3}
------------------ end ------------------
""".format(name, age, job, hobby))

2.3带关键字

print("""
------------ info of {name} ------------
Name : {name}
Age : {age}
job : {job}
Hobby: {hobby}
------------------ end ------------------
""".format(name="XXX", age=25, job="XXXX", hobby="XXXXX"))

*2.4传入列表(元组)

list = ["XXX", 25, "XXXX", "XXXXX"]
print("""
------------ info of {0} ------------
Name : {0}
Age : {1}
job : {2}
Hobby: {3}
------------------ end ------------------
""".format(*list))

*2.5传入字典

dic = {"name": "XXX",
"age": 25,
"job": "XXXX",
"hobby": "XXXXX"}
print("""
------------ info of {name} ------------
Name : {name}
Age : {age}
job : {job}
Hobby: {hobby}
------------------ end ------------------
""".format(**dic))

*2.6指定长度输出

  格式{:*>n}

  • >:右对齐
  • <:左对齐
  • ^:中间对齐
  • n:指定的长度
print("左对齐是:{0:*<5},\n右对齐是:{1:*>5},\n居中的是:{2:*^5}".format("左", "右", "中"))

输出:

3.f-string(python解释器3.6版本后可用)

>>>name = "zhangsan"
>>>age = 25
>>>print(f"我的名字是{name},年龄是{age}")
我的名字是zhangsan,年龄是25

python之格式化输出(3种方式)的更多相关文章

  1. Python 字符串格式化输出方式

    字符串格式化有两种方式:百分号方式.format方式. 其中,百分号方式比较老,而format方式是比较先进的,企图替代古老的方式,目前两者共存. 1.百分号方式 格式:%[(name)][flags ...

  2. (Python )格式化输出、文件操作、json

    本节学习Python的格式化输出,文件操作以及json的简单用法 1.格式化输出 将非字符串类型转换成字符串,可以使用函数:str() 或者repr() ,(这两个函数的区别目前我还没搞懂,求解答) ...

  3. python的格式化输出

    Python的格式化输出有两种: 一.类似于C语言的printf的方法 二.类似于C#的方法

  4. Python实现屏幕截图的两种方式

    Python实现屏幕截图的两种方式 使用windows API 使用PIL中的ImageGrab模块 下面对两者的特点和用法进行详细解释. 一.Python调用windows API实现屏幕截图 好处 ...

  5. Python 配置日志的几种方式

    Python配置日志的几种方式 作为开发者,我们可以通过以下3种方式来配置logging: (1)使用Python代码显式的创建loggers,handlers和formatters并分别调用它们的配 ...

  6. Python拼接字符串的七种方式

    忘了在哪看到一位编程大牛调侃,他说程序员每天就做两件事,其中之一就是处理字符串.相信不少同学会有同感. 几乎任何一种编程语言,都把字符串列为最基础和不可或缺的数据类型.而拼接字符串是必备的一种技能.今 ...

  7. Python 拼接字符串的几种方式

    在学习Python(3x)的过程中,在拼接字符串的时候遇到了些问题,所以抽点时间整理一下Python 拼接字符串的几种方式. 方式1,使用加号(+)连接,使用加号连接各个变量或者元素必须是字符串类型( ...

  8. 横向对比分析Python解析XML的四种方式

    横向对比分析Python解析XML的四种方式 在最初学习PYTHON的时候,只知道有DOM和SAX两种解析方法,但是其效率都不够理想,由于需要处理的文件数量太大,这两种方式耗时太高无法接受. 在网络搜 ...

  9. Python字符串拼接的五种方式

    第一种 通过加号(+)的形式 print('第一种方式通过加号形式连接 :' + 'love'+'Python' + '\n') 第二种 通过逗号(,)的形式 print('第二种方式通过逗号形式连接 ...

  10. MVC日期格式化的2种方式

    原文:MVC日期格式化的2种方式 假设有这样的一个类,包含DateTime类型属性,在编辑的时候,如何使JoinTime显示成我们期望的格式呢? using System; using System. ...

随机推荐

  1. windows下安装python-Levenshtein

    安装python-Levenshtein 报错 error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Vi ...

  2. 2019.4.11 一题 XSY 1551 ——广义后缀数组(trie上后缀数组)

    参考:http://www.mamicode.com/info-detail-1949898.html (log2) https://blog.csdn.net/geotcbrl/article/de ...

  3. 配置中心Server端

    为什么需要统一配置中心 1.不方便维护.一个功能被多个人开发,如果其中一个人修改了配置文件,另外一个人测试之前的功能,准备使用之前的配置. 2.配置内容安全与权限.线上的配置是不会对开发公开,特别是数 ...

  4. hadoop商业版本的选择介绍

    记得刚接触到hadoop的时候跟大部分人一样都会抱怨hadoop的安装部署问题,对于一个新手来说这这的是个头疼的问题,可能需要花费一整天的时间才能把分布式环境安装配置好.在刚接触hadoop的一段时间 ...

  5. piwik获取访客头像,自定义显示访问者头像(URL)和描述(标题和替代)

    访客头像 自定义显示访问者头像(URL)和描述(标题和替代) 链接地址:https://plugins.matomo.org/VisitorAvatar#description

  6. 【转】SQL Server日志文件过大 大日志文件清理方法 不分离数据库

    https://blog.csdn.net/slimboy123/article/details/54575592 还未测试 USE[master] GO ALTER DATABASE 要清理的数据库 ...

  7. python--BUG--python socket.error: [Errno 9] Bad file descriptor的解决办法

    这个错误很明显 ,是因为关闭了套接字对象后,又再次去调用了套接字对象,此时套接字链接已经被关闭,不能再去调用,所以才会出现这种错误,复查一下代码,很快就可以解决.

  8. ALGO-146_蓝桥杯_算法训练_4-2找公倍数

    AC代码: #include <stdio.h> int main(void) { int i; ; i <= ; i ++) { == && i% == ) { p ...

  9. Spring-framework应用程序启动loadtime源码分析笔记(一)

    1,实例化DefaultListableBeanFactory DefaultListableBeanFactory是AnnotationConfigApplicationContext的组件,Def ...

  10. Scala的内建控制结构

    Scala中的内建控制机构仅有if.while.for.try.match和函数调用.虽然Scala的基础控制结构少,但也足以支持指令式语言里所有的实质内容.因为它们都能产生值,有助于缩短代码. 程序 ...