马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
>>> 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 。
|