
离线 TA的专栏
- 打卡等级:即来则安
- 打卡总天数:23
- 打卡月天数:0
- 打卡总奖励:281
- 最近打卡:2025-03-28 08:19:14
|
目录
- python输出后面多一个None
- pprint打印,输出结果多一个None值
- pprint是什么?
- 当使用pprint将数据按照指定宽度打印时,多出一个None值
- 正确用法是直接使用pp.pprint语句
- 总结
python输出后面多一个None
python定义函数时,一般都会有指定返回值,如果没有显式指定返回值,那么python就会默认返回值为None
例:输入:* 5 6 - class Solution:
- def solve(self, op, num_1, num_2):
- '''
- :type op, num_1, num_2: str, int, int
- :rtype : Str
- '''
- #请在此添加代码,实现计算并返回表达式的结果,要求结果保留2位小数
- #********** Begin *********#
- ops=['+','-','*','/']
- if op in ops:
- s=eval('%d %s %d'%(num_1,op,num_2))
- print("%.2f"%s)
- #********** End *********#
复制代码输出结果: 即相当于: - class Solution:
- def solve(self, op, num_1, num_2):
- '''
- :type op, num_1, num_2: str, int, int
- :rtype : Str
- '''
- #请在此添加代码,实现计算并返回表达式的结果,要求结果保留2位小数
- #********** Begin *********#
- ops=['+','-','*','/']
- if op in ops:
- s=eval('%d %s %d'%(num_1,op,num_2))
- print("%.2f"%s)
- return None
- #********** End *********#
复制代码输出结果: 没有None的代码为: - class Solution:
- def solve(self, op, num_1, num_2):
- '''
- :type op, num_1, num_2: str, int, int
- :rtype : Str
- '''
- #请在此添加代码,实现计算并返回表达式的结果,要求结果保留2位小数
- #********** Begin *********#
- ops=['+','-','*','/']
- if op in ops:
- s=eval('%d %s %d'%(num_1,op,num_2))
- return ("%.2f"%s)
- #********** End *********#
复制代码输出结果: pprint打印,输出结果多一个None值
pprint是什么?
pprint是Data Pretty printer的缩写,顾名思义就是让显示结果更加美观。
相较于print而言,pprint打印的数据结构更加完整,更加便于阅读。
尤其是在打印特别长的数据时,print会在一行打印,对人类来说几乎不可读,而pprint可以分行打印。
当使用pprint将数据按照指定宽度打印时,多出一个None值
这也是我的粗心造成的错误,具体看例子比较明白
这是错误的用法 - import pprint
- stuff = ['spam', 'eggs', 'lumberjack', 'knights', 'ni']
- pp = pprint.PrettyPrinter(indent=4, width=20)
- print(pp.pprint(stuff))
复制代码显示结果 - [ 'spam',
- 'eggs',
- 'lumberjack',
- 'knights',
- 'ni']
- None
复制代码可以看到,后面很明显地多了一个None, 原因就在于最后一行的print
正确用法是直接使用pp.pprint语句
- import pprint
- stuff = ['spam', 'eggs', 'lumberjack', 'knights', 'ni']
- pp = pprint.PrettyPrinter(indent=4, width=20)
- pp.pprint(stuff)
复制代码这个时候结果也没错 - [ 'spam',
- 'eggs',
- 'lumberjack',
- 'knights',
- 'ni']
复制代码真是在初学python时闹得一个笑话。pprint本就是为了解决print不便于多行打印结果的一个包,一山不容二虎,但上方错误竟没有直接报错而是输出None,其中缘由不得而知。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持晓枫资讯。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:  进行删除处理。
4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
|