Python 什么是方法名称(self)方法?这是私人方法吗?

Python 什么是方法名称(self)方法?这是私人方法吗?,python,python-3.x,class,methods,Python,Python 3.x,Class,Methods,这个\uuu str\uuu(self)有什么用? 为什么我们在python中使用\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu?有什么特殊用途吗?一些好的读物适合你: tl/dr:以双下划线开头和结尾的函数是特殊函数,它们作为类行为的一部分自动调用。例如,当一个对象应强制为字符串时,将调用\uu str\uu()函数。对于支持强制转换为字符串的对象,它必须实现此功能。带有双下

这个
\uuu str\uuu(self)
有什么用?
为什么我们在python中使用
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu?有什么特殊用途吗?

一些好的读物适合你:


tl/dr:以双下划线开头和结尾的函数是特殊函数,它们作为类行为的一部分自动调用。例如,当一个对象应强制为字符串时,将调用
\uu str\uu()
函数。对于支持强制转换为字符串的对象,它必须实现此功能。

带有双下划线前缀和后缀的方法名称保留给Python使用,通常用作自定义对象行为的挂钩。它们不是真正的私有对象,但并不意味着要显式调用它们。请参阅“魔法”对象或属性一节。
class Test:
     def __init__(self,top,bottom):
         self.num = top
         self.den = bottom

     def __str__(self):
         return str(self.num)+"/"+str(self.den)