Python类方法调用返回None,输出不符合预期问题咨询
解决Python类方法调用后额外输出None的问题
问题出在你调用方法的方式上:
bark()和yolo()方法内部已经通过print()语句输出了目标内容- 你又用外层的
print()去调用这两个方法,而这两个方法的return语句没有指定返回值,Python会默认返回None,外层print()就会把这个默认返回值打印出来,导致出现额外的None输出。
解决方案一:直接调用方法(推荐,符合当前方法的设计逻辑)
如果你的方法设计就是内部输出内容,不需要返回值,直接调用方法即可,不要用print()包裹:
class Dog: def bark(self): print("The dogo is barking") return def yolo(self): print("Munni badnam") return d = Dog() d.bark() d.yolo()
执行后的输出:
The dogo is barking Munni badnam
解决方案二:修改方法返回字符串,由外层print输出
如果希望方法返回内容,再由外部控制输出,可以修改方法让它返回对应的字符串,去掉内部的print():
class Dog: def bark(self): return "The dogo is barking" def yolo(self): return "Munni badnam" d = Dog() print(d.bark()) print(d.yolo())
执行后的输出同样符合预期:
The dogo is barking Munni badnam
内容的提问来源于stack exchange,提问作者Harshal Mehta
相关产品推荐
相关产品推荐

