转自:https://www.cnblogs.com/fat39/p/7159881.html

一、格式化输出
1、整数的输出
%o —— oct 八进制
%d —— dec 十进制
%x —— hex 十六进制

  1. >>> print('%o' % 20)
  2. 24
  3. >>> print('%d' % 20)
  4. 20
  5. >>> print('%x' % 20)
  6. 14

2、浮点数输出
(1)格式化输出
%f ——保留小数点后面六位有效数字
  %.3f,保留3位小数位
%e ——保留小数点后面六位有效数字,指数形式输出
  %.3e,保留3位小数位,使用科学计数法
%g ——在保证六位有效数字的前提下,使用小数方式,否则使用科学计数法
  %.3g,保留3位有效数字,使用小数或科学计数法

  1. >>> print('%f' % 1.11) # 默认保留6位小数
  2. 1.110000
  3. >>> print('%.1f' % 1.11) # 取1位小数
  4. 1.1
  5. >>> print('%e' % 1.11) # 默认6位小数,用科学计数法
  6. 1.110000e+00
  7. >>> print('%.3e' % 1.11) # 取3位小数,用科学计数法
  8. 1.110e+00
  9. >>> print('%g' % 1111.1111) # 默认6位有效数字
  10. 1111.11
  11. >>> print('%.7g' % 1111.1111) # 取7位有效数字
  12. 1111.111
  13. >>> print('%.2g' % 1111.1111) # 取2位有效数字,自动转换为科学计数法
  14. 1.1e+03

(2)内置round()

round(number[, ndigits])
参数:
number - 这是一个数字表达式。
ndigits - 表示从小数点到最后四舍五入的位数。默认值为0。
返回值
该方法返回x的小数点舍入为n位数后的值。

round()函数只有一个参数,不指定位数的时候,返回一个整数,而且是最靠近的整数,类似于四舍五入,当指定取舍的小数点位数的时候,一般情况也是使用四舍五入的规则,但是碰到.5的情况时,如果要取舍的位数前的小数是奇数,则直接舍弃,如果是偶数则向上取舍。

注:“.5”这个是一个“坑”,且python2和python3出来的接口有时候是不一样的,尽量避免使用round()函数吧

  1. >>> round(1.1125) # 四舍五入,不指定位数,取整
  2. 1
  3. >>> round(1.1135,3) # 取3位小数,由于3为奇数,则向下“舍”
  4. 1.113
  5. >>> round(1.1125,3) # 取3位小数,由于2为偶数,则向上“入”
  6. 1.113
  7. >>> round(1.5) # 无法理解,查阅一些资料是说python会对数据进行截断,没有深究
  8. 2
  9. >>> round(2.5) # 无法理解
  10. 2
  11. >>> round(1.675,2) # 无法理解
  12. 1.68
  13. >>> round(2.675,2) # 无法理解
  14. 2.67
  15. >>>

3、字符串输出
%s
%10s——右对齐,占位符10位
%-10s——左对齐,占位符10位
%.2s——截取2位字符串
%10.2s——10位占位符,截取两位字符串

  1. >>> print('%s' % 'hello world') # 字符串输出
  2. hello world
  3. >>> print('%20s' % 'hello world') # 右对齐,取20位,不够则补位
  4. hello world
  5. >>> print('%-20s' % 'hello world') # 左对齐,取20位,不够则补位
  6. hello world
  7. >>> print('%.2s' % 'hello world') # 取2位
  8. he
  9. >>> print('%10.2s' % 'hello world') # 右对齐,取2位
  10. he
  11. >>> print('%-10.2s' % 'hello world') # 左对齐,取2位
  12. he

4、 其他

字符串格式代码如下

(2)常用转义字符如下

二、format用法

相对基本格式化输出采用‘%’的方法,format()功能更强大,该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号‘{}’作为特殊字符代替‘%’

使用方法由两种:b.format(a)和format(a,b)。

1、基本用法

  (1)不带编号,即“{}”

  (2)带数字编号,可调换顺序,即“{1}”、“{2}”

  (3)带关键字,即“{a}”、“{tom}”

  1. >>> print('{} {}'.format('hello','world')) # 不带字段
  2. hello world
  3. >>> print('{0} {1}'.format('hello','world')) # 带数字编号
  4. hello world
  5. >>> print('{0} {1} {0}'.format('hello','world')) # 打乱顺序
  6. hello world hello
  7. >>> print('{1} {1} {0}'.format('hello','world'))
  8. world world hello
  9. >>> print('{a} {tom} {a}'.format(tom='hello',a='world')) # 带关键字
  10. world hello world

2、进阶用法

(1)< (默认)左对齐、> 右对齐、^ 中间对齐、= (只用于数字)在小数点后进行补齐

(2)取位数“{:4s}”、"{:.2f}"等

  1. >>> print('{} and {}'.format('hello','world')) # 默认左对齐
  2. hello and world
  3. >>> print('{:10s} and {:>10s}'.format('hello','world')) # 取10位左对齐,取10位右对齐
  4. hello and world
  5. >>> print('{:^10s} and {:^10s}'.format('hello','world')) # 取10位中间对齐
  6. hello and world
  7. >>> print('{} is {:.2f}'.format(1.123,1.123)) # 取2位小数
  8. 1.123 is 1.12
  9. >>> print('{0} is {0:>10.2f}'.format(1.123)) # 取2位小数,右对齐,取10位
  10. 1.123 is 1.12

3、多个格式化

'b' - 二进制。将数字以2为基数进行输出。
'c' - 字符。在打印之前将整数转换成对应的Unicode字符串。
'd' - 十进制整数。将数字以10为基数进行输出。
'o' - 八进制。将数字以8为基数进行输出。
'x' - 十六进制。将数字以16为基数进行输出,9以上的位数用小写字母。
'e' - 幂符号。用科学计数法打印数字。用'e'表示幂。
'g' - 一般格式。将数值以fixed-point格式输出。当数值特别大的时候,用幂形式打印。
'n' - 数字。当值为整数时和'd'相同,值为浮点数时和'g'相同。不同的是它会根据区域设置插入数字分隔符。
'%' - 百分数。将数值乘以100然后以fixed-point('f')格式打印,值后面会有一个百分号。
  1. >>> print('{0:b}'.format(3))
  2. 11
  3. >>> print('{:c}'.format(20))
  4.  
  5. >>> print('{:d}'.format(20))
  6. 20
  7. >>> print('{:o}'.format(20))
  8. 24
  9. >>> print('{:x}'.format(20))
  10. 14
  11. >>> print('{:e}'.format(20))
  12. 2.000000e+01
  13. >>> print('{:g}'.format(20.1))
  14. 20.1
  15. >>> print('{:f}'.format(20))
  16. 20.000000
  17. >>> print('{:n}'.format(20))
  18. 20
  19. >>> print('{:%}'.format(20))
  20. 2000.000000%
  21. >>>

【Python笔记】1、格式化输出(%用法和format用法)的更多相关文章

  1. 格式化输出(%用法和fomat用法)

    一:%用法 1.整数输出 %o —— oct 八进制%d —— dec 十进制%x —— hex 十六进制 2.浮点数输出 %f ——保留小数点后面六位有效数字 %.3f,保留3位小数位%e ——保留 ...

  2. python基础_格式化输出(%用法和format用法)(转载)

    python基础_格式化输出(%用法和format用法) 目录 %用法 format用法 %用法 1.整数的输出 %o -- oct 八进制%d -- dec 十进制%x -- hex 十六进制 &g ...

  3. Python 3.x 格式化输出字符串 % & format 笔记

    Python 3.x 格式化输出字符串 % & format 笔记 python格式化字符串有%和{}两种 字符串格式控制符. 字符串输入数据格式类型(%格式操作符号) %%百分号标记 %c字 ...

  4. python 格式化输出(% VS format)

    提到Python中的格式化输出方法,一般来说有以下两种方式: 1)% 格式说明由%和格式字符组成,如%f,%s,%d,它的作用是将数据按照指定的格式输出.格式说明是由“%”字符开始的. #1.输出字符 ...

  5. python - 字符串的格式化输出

    # -*- coding:utf-8 -*- '''@project: jiaxy@author: Jimmy@file: study_2_str.py@ide: PyCharm Community ...

  6. Python 入门之格式化输出

    Python 入门之格式化输出 1.格式化 (1)%为占位 (2)%s --- 站字符串的位置(数字.字符串都能够进行填充) name = input('请输入姓名:') age = input('请 ...

  7. Python基础篇(格式化输出,运算符,编码):

    Python基础篇(格式化输出,运算符,编码): 格式化输出: 格式:print ( " 内容%s" %(变量)) 字符类型: %s  替换字符串      %d 替换整体数字  ...

  8. python基础_格式化输出(%用法和format用法)

      目录 %用法 format用法 %用法 1.整数的输出 %o —— oct 八进制%d —— dec 十进制%x —— hex 十六进制 1 >>> print('%o' % 2 ...

  9. python学习笔记 | strftime()格式化输出时间

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

随机推荐

  1. @Valid注解的使用springmvc pojo校验

    @Valid注解用于校验,所属包为:javax.validation.Valid. ① 首先需要在实体类的相应字段上添加用于充当校验条件的注解,如:@Min,如下代码(age属于User类中的属性): ...

  2. witchcase

    #include "stdafx.h" #include using namespace std; int _tmain(int argc, _TCHAR* argv[]) { i ...

  3. 安装多个jdk导致eclipse打不开问题

    问题描述 本来使用的是jdk1.8,由于其他原因需要使用jdk1.6,在安装完jdk1.6后打开eclipse就会报错: Version 1.6.0_43 of the JVM is not suit ...

  4. windows查看某个端口被哪个进程占用

    找出端口对应的PID netstat -ano | findstr 8080 帮助命令netstat -? -a 显示所有连接和侦听端口. -n 以数字形式显示地址和端口号. -o 显示拥有的与每个连 ...

  5. 面试题:栈的push和pop序列是否一致

    参数是两个数组,arr1,arr2 stack stack = new Stack() for(int i=0;j=0;i<arr1.length;i++){ stack.push(arr[i] ...

  6. Java 数组实例——将阿拉伯数字转换为最大写

    题目:将阿拉伯数字转换为最大写,比如1234转换为壹仟贰佰叁拾肆. package my_package; public class Transform { private String[] arr1 ...

  7. mysql修改密码策略

      版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/Hello_World_QWP/arti ...

  8. RabbitMQ基本概念(三)-Centos7下安装RabbitMQ3.6.1

    如果你看过前两章对RabbitMQ已经有了一定了解,现在已经摩拳擦掌,来吧动手吧! 用什么系统 本文使用的是Centos7,为了保证对linux不太熟悉的伙伴也能轻松上手(避免折在安装的路上),下面是 ...

  9. 简述-selenium对web实现自动化测试

    首先,我是基于python进行对selenium操作和使用的,主要分为selenium的实现原理和selenium的操作这两大部分的简单分享(由于本人水平有限,仅做基础的概述和总结): 一.selen ...

  10. 记使用pyspider时,任务不执行的问题原因:save太大。

    pyspider使用save传递大量文本时,如果是mysql数据库,有可能出现问题,因为任务表默认用的blob字段.字符数是有限制的. 解决办法就是手动把字段类型改成longblob. 希望作者能直接 ...