浅谈Python的格式化输出

python的输出

python输出中的print()函数,直接引用即可,它的完整格式为:

#最后面还有文件操作的,我们主要学习输出相关,所以暂不加入
print(object, sep=' ', end='\n')

object——是我们要输出的东西,可以是变量也可以是具体的数据,可以是单个也可以是多个,如果是多个中间用' , '分隔即可

sep——当我们要输出多个东西时才会用到,它表示我们输出的多个数据之间输出时用什么来进行分隔,如果输出时不设置,那就默认以一个空格来分隔

end——用来设置输出完我们要输出的数据之后,用什么来结尾。当你不特意进行设置时它默认为end='\n' ,所以print()函数默认输出结束后自动换行

print(1,2,3,end='')
print(1,2,3,sep='!')
print(1,2,3,)
#它们的输出如下:
1 2 31!2!3
1 2 3
#请仔细思考为什么这样,理清楚头绪

我们在C语言中学的scanf()函数是格式化输出的,可以设置要输出的数据的格式与数据形式,那我们在python如何来实现呢?

int a=10;
float b=6.6;
scanf("%d%f\n",a,b);

上面C语言代码用python实现为:

a=10
b=6.6
print("%d%f"%(a,b))
#print(a,b,sep='')

如果对输出数据格式有要求我们选用上面的方式,可以和c语言一样对于输出的格式进行修改设定

如果对输出格式没有要求我们选用第二种方法,比较方便,与字符串一起输出时可以用+进行连接,但前提是输出类型也是字符串类型的,如果不是字符串类型,那我们可以用str()函数进行强制转换在进行连接输出,如下:

a=18
print("Her age is "+a+" !")

上面这样写时错误的,因为a为赋值为18,所以a的数据类型为整型,整型不可以直接与字符串用+进行连接,所以正确的写法应该是:

a=18
print("Her age is "+str(a)+" !")
#输出为:Her age is 18 !

接下来具体讲一下格式化输出数据,%的格式化输出与C语言的大同小异:

%d——十进制整数

%o —— 八进制整数

%x —— 十六进制整数

%f——浮点数,小数点后面六位有效数字

%e ——指数形式输出,小数点后面六位有效数字

%g ——六位有效数字的前提下,使用小数方式,否则使用科学计数法

a=5
print(10)
print("%d"%a)
print("%2d"%a)#输出时按照2个空间大小输出,默认为右对齐
print("%-2d"%a)#2个空间大小,因为d前面是-号,所以左对齐
print("%02d"%a)#2个空间大小输出,不够的用0补齐
print("%-02d"%a)#2个空间大小输出,不够的用0补齐,左对齐

#以上代码的输出为:
10
5
5
5
05
5

总结一下上面代码,%与d之间可以加一些数字或者符号来控制输出数据的格式,具体为:

%(控制左右对齐)(用什么补齐)(按照几位空间输出)d分别为:

默认为右对齐,负号为左对齐

默认空格补齐,可以设置其他补齐

数字本身超过要求的空间时,无影响,数据本身不够时,根据左右对齐,在根据补齐。说白了就是占位置

其他的数据类型也都是类似的,无论是浮点数还是字符串,如%5.2f代表,占五个位置,并且保留两位小数,要特别注意的是浮点数的小数点也是占一个位置的,接下来看几个实例,好好体会一下

b=5.21
print(b)
print("%f"%b)
print("%2.1f"%b)
print("%2.2f"%b)
print("%5.2f"%b)
print("%5.5f"%b)
print("%.5f"%b)

#上面的输出依次为:
5.21
5.210000
5.2
5.21
5.21
5.21000
5.21000
#大家注意对比研究

有些东西必须要自己体会出来才能记下来,希望大家能够勤奋思考,不要偷懒!

接下来介绍一个函数——str.format()

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

废话不多说上代码!!!

#通过位置匹配,类似于数组
print('{} {}'.format('hello','baibai'))#hello baibai
print('{1} {0}'.format('hello','baibai'))#baibai hello
print('{1} {1}'.format('hello','baibai'))#baibai baibai
print('{0} {0}{0}'.format('hello','baibai'))#hello hellohello
#通过对应值名字进行匹配,类似于字典
#(这里也可以传入一个字典类型进行key与value对应取)
print('{a},{b}'.format(a='1',b='8'))#1,8

除了这些,我们还可以输出更加复杂的数据类型

#还是用一下我之前定义的一个数据
goods=[(1,"百事可乐",10,3),(2,"康师傅方便面",15,2),(3,"马克杯",5,30)]
list=[1,2,3]
print('{0[1]}'.format(goods))#(2, '康师傅方便面', 15, 2)
print('{0[1]},{1[2]}'.format(goods,list))#(2, '康师傅方便面', 15, 2),3
print('{0[1][1]}'.format(goods,list))#康师傅方便面

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • Python变量格式化输出实现原理解析

    print() 函数使用以 % 开头的转换说明符对各种类型的数据进行格式化输出. 转换说明符(Conversion Specifier)只是一个占位符(也称为格式化操作符),它会被后面表达式(变量.常量.数字.字符串.加减乘除等各种形式)的值代替. 转换说明符 解释 %d.%i 转换为带符号的十进制整数 %o 转换为带符号的八进制整数 %x.%X 转换为带符号的十六进制整数 %e 转化为科学计数法表示的浮点数(e 小写) %E 转化为科学计数法表示的浮点数(E 大写) %f.%F 转化为十进制浮

  • Python数据库格式化输出文档的思路与方法

    问题 如果文案格式是统一的,是否可以通过Python格式化输出doc/md的文档? 能用代码搞定的,尽力不手工 思路 首先,数据已经录入库,需要python能读取数据库,可使用mysql-connector 其次,格式化输出的文档,肯定需要文件读写操作,需使用os 接着,考虑到各大平台多数支持markdown格式,优先输出md格式文档.若输出doc,需使用docx 补充,python一键执行,分页数据操作,接收外部参数,需使用sys 编码 分页获取数据库内容 import mysql.conne

  • Python常见的函数及格式化输出

    目录 Python常见函数及格式化输出 一.大小写转换方法 1.upper() 2.lower() 3.capitalize() 4.title() 5.swapcase() 二.分割.组合与移除方法 1.split() 2.join() 3.strip() 三.定位与替换方法 1.count() 2.find() 3.replace() 四.格式化输出方法 Python常见函数及格式化输出 一.大小写转换方法 1.upper() 用于将字符串中的小写字母转为大写字母. 'abcd'.upper

  • 全网最细 Python 格式化输出用法讲解(推荐)

    一.使用 print() 函数 在 Python 中,print() 函数支持格式化输出,与 C 语言的 printf 类似. 1. 格式化输出字符串和整数 [示例1]输出字符串 AmoXiang,并计算.输出它的字符长度 str1 = "%s.length = %d" % ("AmoXiang", len("AmoXiang")) print(str1) # 输出AmoXiang.length = 8 % 在字符串中表示格式化操作符,它后面必须

  • Python如何使用print()函数输出格式化字符串

    目录 前言 格式化输出字符串类型的变量 格式化输出整数型变量 格式化输出浮点型变量 格式化输出多个变量 总结 前言 print()函数用来将信息输出到控制台 如果希望输出文字信息的同时,一起输出数据,可以使用格式化操作符%,格式化操作符负责处理字符串中的格式,需要注意的是,链接不同的字符时,根据不同类型的数据需要使用不同的格式化字符 常用的格式化字符有四种 %s -- 字符串类型 %d -- 整数类型(%05d,指定整数的显示位,不足的位数用0补齐) %f -- 浮点型(%.2f,指定小数点后显

  • Python格式化输出详情

    目录 1.%格式化 1.1简单格式化,不使用可选参数 1.2 复杂格式化,使用可选参数 1.2.1参数 (name),用于选择指定的key 1.2.2参数flags和width,对齐方式和宽度 1.2.3参数.precision 控制小数点后位数 2.format格式化 2.1自定义占位符 2.2自定义关键字 2.3填充与对齐(同时使用) 2.4数字格式化 3.f-String格式化 3.1简单使用 3.2复杂控制 1.%格式化 语法: %[(name)][flags][width].[prec

  • 浅谈Python 字符串格式化输出(format/printf)

    Python 字符串格式化使用 "字符 %格式1 %格式2 字符"%(变量1,变量2),%格式表示接受变量的类型.简单的使用例子如下: # 例:字符串格式化 Name = '17jo'   print 'www.%s.com'%Name   >> www.17jo.com Name = '17jo' Zone = 'com' print 'www.%s.%s'%(Name,Zone) >> www.17jo.com 字符串格式化时百分号后面有不同的格式符号,代表

  • 浅谈Python的格式化输出

    python的输出 python输出中的print()函数,直接引用即可,它的完整格式为: #最后面还有文件操作的,我们主要学习输出相关,所以暂不加入 print(object, sep=' ', end='\n') object--是我们要输出的东西,可以是变量也可以是具体的数据,可以是单个也可以是多个,如果是多个中间用' , '分隔即可 sep--当我们要输出多个东西时才会用到,它表示我们输出的多个数据之间输出时用什么来进行分隔,如果输出时不设置,那就默认以一个空格来分隔 end--用来设置

  • 浅谈Java中格式化输出

    格式化控制台输出 要点提示: 在控制台上显示格式化输出:System.out.printf方法 常用的格式标识符 (图片来源: java核心技术卷1(第九版)) 格式标识符的解释 % 4 . 2 f 4为域宽度.输出的浮点数条目宽度至少为4,包括小数点和小数点后两位数字.这样,给小数点前分配了1位数字. 如果该条目小数点前的位数小于1,就在数字前面加空格. 如果该条目小数点前的位数大于7,则自动增加宽度. 2为精度().即想要输出的小数点的长度. f为转换码 指定宽度和精度的例子 举例 输出 %

  • 浅谈python输出列表元素的所有排列形式

    例如: ['a', 'b', 'c'] 输出 ['a', 'b', 'c'] ['a', 'c', 'b'] ['b', 'a', 'c'] ['b', 'c', 'a'] ['c', 'a', 'b'] ['c', 'b', 'a'] 方法一:利用递归的方式实现 def permutation(li): len_list = len(li) if len_list == 1: return li result = [] for i in range(len_list): res_list =

  • 浅谈python str.format与制表符\t关于中文对齐的细节问题

    写了一个练手的爬虫...在输出的时候出现了让人很不愉♂悦的问题 像这样: 令人十分难受啊! #------------------------------------------ 在此之前先说一下python中的.format格式化输出 python2.6开始,可以使用str.format进行轻松的格式化, 如上可以看到,对变量的处理简洁灵活,此外对数字的各种位数处理也很到位 {:<x}的语法表示左对齐(>为右对齐,^为居中),少于x位自动补齐(默认为空格补齐) 这里值得注意的是,x也可以作为

  • 浅谈Python中的字符串

    可能大多数人在学习C语言的时候,最先接触的数据类型就是字符串,因为大多教程都是以"Hello world"这个程序作为入门程序,这个程序中要打印的"Hello world"就是字符串.如果你做过自然语言处理方面的研究,并且用Python去做过相关实验,你肯定会体会到Python在字符串处理方面相对于其他语言的明显优势之处.今天我们来了解一下Python中的字符串,看看它的用法. 一.Python中如何声明字符串 在Python中声明一个字符串通常有三种方法:在它的两

  • 浅谈python数据类型及其操作

    一. Number 数字 1.内置函数:需要导入math 2.随机数函数:需要导入random 模块 3.三角函数:需要导入math模块 4.数学常量:需要导入math模块 #1.数据函数的使用 #========================== #内置函数 print(abs(-10)) #10绝对值 print(round(4.56789,2)) #4.57 使用四舍五入的方式保留小数点后两位 a = [10,30,20,80,50] print(max(a)) #80 最大值 prin

  • 浅谈python中常用的excel模块库

    openpyxl openpyxl是⼀个Python库,用于读取/写⼊Excel 2010 xlsx / xlsm / xltx / xltm⽂件. 它的诞⽣是因为缺少可从Python本地读取/写⼊Office Open XML格式的库. 如何安装: 使用pip安装openpyxl $ pip install openpyxl 使用效果之⼀: 比如可以直接读取表格数据后综合输出写⼊到后⾯的⼀列中 xlwings xlwings是BSD许可的Python库,可轻松从Excel调用Python,同样

  • 浅谈Python基础之I/O模型

    一.I/O模型 IO在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口. 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别? 这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronous IO和non-blockin

  • 浅谈python for循环的巧妙运用(迭代、列表生成式)

    介绍 我们可以通过for循环来迭代list.tuple.dict.set.字符串,dict比较特殊dict的存储不是连续的,所以迭代(遍历)出来的值的顺序也会发生变化. 迭代(遍历) #!/usr/bin/env python3 #-*- coding:utf-8 -*- vlist=['a','b','c'] vtuple=('a','b','c') vdict={'a': 1, 'b': 2, 'c': 3} vset={'a','b','c'} vstr='abc' for x in vl

随机推荐