【Python笔记】1、格式化输出(%用法和format用法)
转自:https://www.cnblogs.com/fat39/p/7159881.html
一、格式化输出
1、整数的输出
%o —— oct 八进制
%d —— dec 十进制
%x —— hex 十六进制
- >>> print('%o' % 20)
- 24
- >>> print('%d' % 20)
- 20
- >>> print('%x' % 20)
- 14
2、浮点数输出
(1)格式化输出
%f ——保留小数点后面六位有效数字
%.3f,保留3位小数位
%e ——保留小数点后面六位有效数字,指数形式输出
%.3e,保留3位小数位,使用科学计数法
%g ——在保证六位有效数字的前提下,使用小数方式,否则使用科学计数法
%.3g,保留3位有效数字,使用小数或科学计数法
- >>> print('%f' % 1.11) # 默认保留6位小数
- 1.110000
- >>> print('%.1f' % 1.11) # 取1位小数
- 1.1
- >>> print('%e' % 1.11) # 默认6位小数,用科学计数法
- 1.110000e+00
- >>> print('%.3e' % 1.11) # 取3位小数,用科学计数法
- 1.110e+00
- >>> print('%g' % 1111.1111) # 默认6位有效数字
- 1111.11
- >>> print('%.7g' % 1111.1111) # 取7位有效数字
- 1111.111
- >>> print('%.2g' % 1111.1111) # 取2位有效数字,自动转换为科学计数法
- 1.1e+03
(2)内置round()
round(number[, ndigits])
参数:
number - 这是一个数字表达式。
ndigits - 表示从小数点到最后四舍五入的位数。默认值为0。
返回值
该方法返回x的小数点舍入为n位数后的值。
round()函数只有一个参数,不指定位数的时候,返回一个整数,而且是最靠近的整数,类似于四舍五入,当指定取舍的小数点位数的时候,一般情况也是使用四舍五入的规则,但是碰到.5的情况时,如果要取舍的位数前的小数是奇数,则直接舍弃,如果是偶数则向上取舍。
注:“.5”这个是一个“坑”,且python2和python3出来的接口有时候是不一样的,尽量避免使用round()函数吧
- >>> round(1.1125) # 四舍五入,不指定位数,取整
- 1
- >>> round(1.1135,3) # 取3位小数,由于3为奇数,则向下“舍”
- 1.113
- >>> round(1.1125,3) # 取3位小数,由于2为偶数,则向上“入”
- 1.113
- >>> round(1.5) # 无法理解,查阅一些资料是说python会对数据进行截断,没有深究
- 2
- >>> round(2.5) # 无法理解
- 2
- >>> round(1.675,2) # 无法理解
- 1.68
- >>> round(2.675,2) # 无法理解
- 2.67
- >>>
3、字符串输出
%s
%10s——右对齐,占位符10位
%-10s——左对齐,占位符10位
%.2s——截取2位字符串
%10.2s——10位占位符,截取两位字符串
- >>> print('%s' % 'hello world') # 字符串输出
- hello world
- >>> print('%20s' % 'hello world') # 右对齐,取20位,不够则补位
- hello world
- >>> print('%-20s' % 'hello world') # 左对齐,取20位,不够则补位
- hello world
- >>> print('%.2s' % 'hello world') # 取2位
- he
- >>> print('%10.2s' % 'hello world') # 右对齐,取2位
- he
- >>> print('%-10.2s' % 'hello world') # 左对齐,取2位
- he
4、 其他
字符串格式代码如下
(2)常用转义字符如下
二、format用法
相对基本格式化输出采用‘%’的方法,format()功能更强大,该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号‘{}’作为特殊字符代替‘%’
使用方法由两种:b.format(a)和format(a,b)。
1、基本用法
(1)不带编号,即“{}”
(2)带数字编号,可调换顺序,即“{1}”、“{2}”
(3)带关键字,即“{a}”、“{tom}”
- >>> print('{} {}'.format('hello','world')) # 不带字段
- hello world
- >>> print('{0} {1}'.format('hello','world')) # 带数字编号
- hello world
- >>> print('{0} {1} {0}'.format('hello','world')) # 打乱顺序
- hello world hello
- >>> print('{1} {1} {0}'.format('hello','world'))
- world world hello
- >>> print('{a} {tom} {a}'.format(tom='hello',a='world')) # 带关键字
- world hello world
2、进阶用法
(1)< (默认)左对齐、> 右对齐、^ 中间对齐、= (只用于数字)在小数点后进行补齐
(2)取位数“{:4s}”、"{:.2f}"等
- >>> print('{} and {}'.format('hello','world')) # 默认左对齐
- hello and world
- >>> print('{:10s} and {:>10s}'.format('hello','world')) # 取10位左对齐,取10位右对齐
- hello and world
- >>> print('{:^10s} and {:^10s}'.format('hello','world')) # 取10位中间对齐
- hello and world
- >>> print('{} is {:.2f}'.format(1.123,1.123)) # 取2位小数
- 1.123 is 1.12
- >>> print('{0} is {0:>10.2f}'.format(1.123)) # 取2位小数,右对齐,取10位
- 1.123 is 1.12
3、多个格式化
- >>> print('{0:b}'.format(3))
- 11
- >>> print('{:c}'.format(20))
- >>> print('{:d}'.format(20))
- 20
- >>> print('{:o}'.format(20))
- 24
- >>> print('{:x}'.format(20))
- 14
- >>> print('{:e}'.format(20))
- 2.000000e+01
- >>> print('{:g}'.format(20.1))
- 20.1
- >>> print('{:f}'.format(20))
- 20.000000
- >>> print('{:n}'.format(20))
- 20
- >>> print('{:%}'.format(20))
- 2000.000000%
- >>>
【Python笔记】1、格式化输出(%用法和format用法)的更多相关文章
- 格式化输出(%用法和fomat用法)
一:%用法 1.整数输出 %o —— oct 八进制%d —— dec 十进制%x —— hex 十六进制 2.浮点数输出 %f ——保留小数点后面六位有效数字 %.3f,保留3位小数位%e ——保留 ...
- python基础_格式化输出(%用法和format用法)(转载)
python基础_格式化输出(%用法和format用法) 目录 %用法 format用法 %用法 1.整数的输出 %o -- oct 八进制%d -- dec 十进制%x -- hex 十六进制 &g ...
- Python 3.x 格式化输出字符串 % & format 笔记
Python 3.x 格式化输出字符串 % & format 笔记 python格式化字符串有%和{}两种 字符串格式控制符. 字符串输入数据格式类型(%格式操作符号) %%百分号标记 %c字 ...
- python 格式化输出(% VS format)
提到Python中的格式化输出方法,一般来说有以下两种方式: 1)% 格式说明由%和格式字符组成,如%f,%s,%d,它的作用是将数据按照指定的格式输出.格式说明是由“%”字符开始的. #1.输出字符 ...
- python - 字符串的格式化输出
# -*- coding:utf-8 -*- '''@project: jiaxy@author: Jimmy@file: study_2_str.py@ide: PyCharm Community ...
- Python 入门之格式化输出
Python 入门之格式化输出 1.格式化 (1)%为占位 (2)%s --- 站字符串的位置(数字.字符串都能够进行填充) name = input('请输入姓名:') age = input('请 ...
- Python基础篇(格式化输出,运算符,编码):
Python基础篇(格式化输出,运算符,编码): 格式化输出: 格式:print ( " 内容%s" %(变量)) 字符类型: %s 替换字符串 %d 替换整体数字 ...
- python基础_格式化输出(%用法和format用法)
目录 %用法 format用法 %用法 1.整数的输出 %o —— oct 八进制%d —— dec 十进制%x —— hex 十六进制 1 >>> print('%o' % 2 ...
- python学习笔记 | strftime()格式化输出时间
time模块 import time t = time.strftime("%Y-%m-%d %H:%M:%S") print(t) datetime模块 import datet ...
随机推荐
- @Valid注解的使用springmvc pojo校验
@Valid注解用于校验,所属包为:javax.validation.Valid. ① 首先需要在实体类的相应字段上添加用于充当校验条件的注解,如:@Min,如下代码(age属于User类中的属性): ...
- witchcase
#include "stdafx.h" #include using namespace std; int _tmain(int argc, _TCHAR* argv[]) { i ...
- 安装多个jdk导致eclipse打不开问题
问题描述 本来使用的是jdk1.8,由于其他原因需要使用jdk1.6,在安装完jdk1.6后打开eclipse就会报错: Version 1.6.0_43 of the JVM is not suit ...
- windows查看某个端口被哪个进程占用
找出端口对应的PID netstat -ano | findstr 8080 帮助命令netstat -? -a 显示所有连接和侦听端口. -n 以数字形式显示地址和端口号. -o 显示拥有的与每个连 ...
- 面试题:栈的push和pop序列是否一致
参数是两个数组,arr1,arr2 stack stack = new Stack() for(int i=0;j=0;i<arr1.length;i++){ stack.push(arr[i] ...
- Java 数组实例——将阿拉伯数字转换为最大写
题目:将阿拉伯数字转换为最大写,比如1234转换为壹仟贰佰叁拾肆. package my_package; public class Transform { private String[] arr1 ...
- mysql修改密码策略
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/Hello_World_QWP/arti ...
- RabbitMQ基本概念(三)-Centos7下安装RabbitMQ3.6.1
如果你看过前两章对RabbitMQ已经有了一定了解,现在已经摩拳擦掌,来吧动手吧! 用什么系统 本文使用的是Centos7,为了保证对linux不太熟悉的伙伴也能轻松上手(避免折在安装的路上),下面是 ...
- 简述-selenium对web实现自动化测试
首先,我是基于python进行对selenium操作和使用的,主要分为selenium的实现原理和selenium的操作这两大部分的简单分享(由于本人水平有限,仅做基础的概述和总结): 一.selen ...
- 记使用pyspider时,任务不执行的问题原因:save太大。
pyspider使用save传递大量文本时,如果是mysql数据库,有可能出现问题,因为任务表默认用的blob字段.字符数是有限制的. 解决办法就是手动把字段类型改成longblob. 希望作者能直接 ...