为什么送了个None
>>> class C:def get_self(self):
print(self)
>>> c = C()
>>> print(c.get_self())
<__main__.C object at 0x000001D8A50656D0>
None
我在idle中执行这段代码的时候,多了个None,请问是怎么回事啊,请老师指点。谢谢老师。 在这段代码中, c.get_self() 方法被调用并打印出了 <__main__.C object at 0x000001D8A50656D0> ,这是 c.get_self() 方法返回的结果。然后, print(c.get_self()) 语句也打印了一个 None 。这是因为 c.get_self() 方法没有明确返回任何值,默认返回 None 。
当你调用一个方法时,如果该方法没有明确使用 return 语句返回一个值,Python会默认返回 None 。在这种情况下, print(c.get_self()) 语句会打印出 None 。
如果你不想打印出 None ,你可以在 get_self() 方法的末尾添加一个 return 语句来返回一个具体的值,或者在 print() 语句中直接调用 c.get_self() 而不是在新的一行中打印它。例如:
class C:
def get_self(self):
print(self)
return "Hello"# 添加一个return语句来返回一个具体的值
c = C()
print(c.get_self())# 直接在print语句中调用c.get_self()
这样, print(c.get_self()) 语句将只打印出 <__main__.C object at 0x000001D8A50656D0> ,而不会打印出 None 。
页:
[1]