python输出后面多一个None问题

 更新时间:2024年11月25日 11:42:59   作者:别是个逗比吧  
在Python中,函数如果没有显式指定返回值,会默认返回`None`,例如,计算一个数的平方根并输出,如果没有处理`None`,会输出结果后跟`None`

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 *********#

输出结果:

30.00
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))
            print("%.2f"%s)
            return None
		#********** End *********#

输出结果:

30.00
None

没有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 *********#

输出结果:

30.00

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,其中缘由不得而知。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 简单介绍Python中的try和finally和with方法

    简单介绍Python中的try和finally和with方法

    这篇文章主要介绍了Python中的try和finally和with方法,是Python学习当中的基础知识,需要的朋友可以参考下
    2015-05-05
  • python验证码识别实例代码

    python验证码识别实例代码

    这篇文章主要介绍了python验证码识别实例代码,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • Python利用Beautiful Soup模块搜索内容详解

    Python利用Beautiful Soup模块搜索内容详解

    这篇文章主要给大家介绍了python中 Beautiful Soup 模块的搜索方法函数。 方法不同类型的过滤参数能够进行不同的过滤,得到想要的结果。文中介绍的非常详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-03-03
  • Python3进行表格数据处理的示例详解

    Python3进行表格数据处理的示例详解

    数据处理是一个当下非常热门的研究方向,通过对于大型实际场景中的数据进行建模,可以用于预测下一阶段可能出现的情况。本文就来聊聊Python3进行表格数据处理的相关操作,需要的可以参考一下
    2023-03-03
  • Python 有可能删除 GIL 吗?

    Python 有可能删除 GIL 吗?

    这篇文章主要介绍了Python 有可能删除 GIL 吗,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-03-03
  • 两种方法检查Python中的变量是否为字符串

    两种方法检查Python中的变量是否为字符串

    在 Python 中,每个变量都有一个数据类型, 数据类型表示变量内部存储的数据类型,本文通过示例介绍两种不同的方法来检查 Python 中的变量是否为字符串,感兴趣的朋友一起看看吧
    2023-11-11
  • 利用Python实现朋友圈中的九宫格图片效果

    利用Python实现朋友圈中的九宫格图片效果

    这篇文章主要给大家介绍了关于利用Python如何实现朋友圈中九宫格图片效果的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Python结合Redis开发一个消息订阅系统

    Python结合Redis开发一个消息订阅系统

    消息订阅是一种常见的通信模式,用于实现系统之间的解耦和异步通信,本文将详细介绍如何使用Python实现一个高效与可靠的消息订阅系统,有需要的可以了解下
    2025-03-03
  • 跟老齐学Python之总结参数的传递

    跟老齐学Python之总结参数的传递

    这篇文章主要介绍了Python参数的传递的总结,非常的实用,有需要的朋友可以参考下
    2014-10-10
  • pycharm 更改创建文件默认路径的操作

    pycharm 更改创建文件默认路径的操作

    今天小编就为大家分享一篇pycharm 更改创建文件默认路径的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02

最新评论