有关打印输出的学习笔记
我们给计算机发号施令,计算机当然理解,但这相当于只是告诉计算机我们想做什么,它不会主动进行(用户想做的)下一步工序,我们需要令其把我们想要的结果输出出来(以各种我们能接受的方式)。下面简单介绍几个笔者在学习过程中用到的输出结果的方法。
1.print()
print函数是笔者认识的第一种语法,市面上好多编程课也是从print()讲起,它是打开编程世界的第一道大门。print()函数用法也很简单,用户只需要在括号内输入想获得的结果即可,但是要注意几点:
①输入字符串(不局限于中文和英文)时需要加一对单引号,否则python会认为用户想令其输出的是一个变量(的值)。
②用户想一次性输出多个结果,可用加号或逗号连接,但是加号要求这些结果类型必须相同,否则会报错;而逗号则不会。例:
print(‘Row’+1) 结果:报错
print(‘Row’+’1’) 结果:Row1
print(‘Row’,1) 结果:Row 1
③使用反斜杠加n进行换行输出,例:
print(‘Row1\nRow2\nRow3’)
④可以在两个想输出的结果间之间夹带一个print(),实现换行输出。例:
print(‘Row1’)
print()
print(‘Row2’)
2.PrettyTable(后文部分内容会简称为PT)
对于有追求美观的想法的用户来说,print()的效果就不怎么令人满意了,这时候可以使用PrettyTable模组对想要的结果进行整理输出。根据这学期的学习,笔者简单总结了一下PT的用法:
注:如果没有该模组,可在windows自带的cmd命令提示符中使用pip install prettytable进行安装。
①我们先导入该模组:
from prettytable import PrettyTable
②定义表格名称及设置表头:笔者一共接触到两种方法,谁先谁后都可以,主要接触的是第一种。但无论如何这个步骤比较关键,后面所有一系列的工作都要围绕这步展开,当然用户可以自定义表格名称,例:
label=['Row','X','Y'] #先定义表头
table824 = PrettyTable(label) #再定义表格名称
#正文内容略
print(table824) #打印输出表格
再或者:
tableKB = PrettyTable() #先定义表格名称
tableKB.field_names=['Row','X','Y'] #再定义表头
#正文内容略
print(tableKB) #打印输出表格
③添加内容:
·用户完全可以自定义数据,然后将其放置在表格中“正文部分”进行输出。例:
table.add_row([1,8,24]) #插入行
table.add_column(‘Y_hat’,[23]) #插入列
·注:插入新列和新行涉及的内容不同,符号的使用也不尽相同。行由于全是数据,只需要一对小括号内置一堆中括号,然后使用逗号分隔开想输入的数据即可;而列还包含新的表头数据,所以需要先拿一对单引号定义这个新的表头,然后再使用中括号内置输入数据。
·如果用户想空出一格,可用一对单引号来“占位”(或内置其他自定义符号来“占位”),如果什么也不输入就会报错,例:
table.add_row([2,4]) 结果:报错
table.add_row([2,4,‘’]) 结果:空位显示
④添加已经定义过的参数,只需要输入在之前提及的变量名称即可,例:
kb=8
……
tableKB.add_row([2,2,4,kb])
⑤使用round()函数简化数值
继续上一步,笔者只是举了个简单的例子。而在实际分析中,表格输出的数据多是浮点数(float)类型,且小数点后位很长,为了不占用空间以及提升美观性,我们需要引入round()函数,round函数的语法如下:
round(a,b)
·其中a代表变量名称,b代表小数位数,一般来说我们只需保留3或4位小数即可,例:
kobe=2.020126
round(kobe,4) #结果为2.0201
·round还有一种单参数的用法,是关于四舍五入的,在这里我们不做详细介绍,读者可自行查阅相关资料。
⑥装饰(排序,格式化等)
这其实是非必须的步骤,追求的除了美观还是美观。其中定义装饰的参数也有很多,读者可自行搜索,在这里不做赘述。
注意:PrettyTable是一个功能较为齐全的模组包,它可以将我们想要的结果“以一种较为美观整齐的方式”打印出来,至少比print直接打印输出要美观,但它无法展示出大量的数据。如果我们想展示一个较为庞大的数据集,我们可能需要考虑其他的数据可视化软件或模组。