提示,在给定示例中的输出值从何而来 - 没有结果。以及如何摆脱它?
class Person:
def __init__(self, n='John', s='Doe'):
self.name = n
self.surname = s
def identity(self):
if self.name == 'John':
print('Some suspicious man!')
else:
print(f'My regards {self.name} {self.surname}')
p = Person('V', 'N')
p2 = Person()
print(p.identity())
print(p2.identity())
结论
My regards V N
None
Some suspicious man!
None
这个问题似乎不是第一次被问到。
在这一行,您打印函数返回的结果
identity。这个函数返回什么?而且不返回任何东西,相当于
None在python中返回。这就是正在None打印的内容。首先你会看到这个函数本身打印了什么。然后打印出函数返回的内容。
由于该函数不返回任何内容,因此应该简单地调用它并忽略返回的结果。
或者,如果您不仅要打印函数的结果,还要以某种方式对其进行分析(在代码中的其他地方),那么您不能在函数中打印结果,而是将其返回,然后有意义打印函数的结果: