.self在简单Python类构造中的使用

2024-05-29 06:52:14 发布

您现在位置:Python中文网/ 问答频道 /正文

试图创建一个非常简单的Python类,但是由于在构造函数中使用了“self”而感到困惑。在

在下面的构造函数代码段中,“r1”“r2”“server”是否都必须以“self”开头?处理程序方法“user_callback”也是这样吗?在

class App:
    def __init__(self,ip,port):
        self._ip=ip
        self._port=port
        r1 = pf.Relay(0)
        r2 = pf.Relay(1)
        server = OSCServer( ( self._ip, self._port) )
        server.addMsgHandler( "/1/push1", user_callback )

Tags: 方法selfipapp处理程序serverport代码段
1条回答
网友
1楼 · 发布于 2024-05-29 06:52:14

python中类的每个实例方法都隐式地将其实例作为第一个参数传递。这就是为什么您需要为每个实例方法添加self作为第一个参数,否则您将得到一个错误。在

说到这里,你怎么处理self完全取决于你自己。通过执行self.x = 1操作,您将向实例添加一个新变量,并且仅针对该实例。如果您打算存储,r1r2server变量供以后在其他方法中使用,那么是的,您希望将它们存储为实例变量。否则,您不需要在它们前面加上self。在

python中的类的行为类似于(并且确实有)管理其实例变量和方法的字典。通过执行self.x = 1,可以将实例变量添加到它们的实例中。在

希望这有帮助!在

相关问题 更多 >

    热门问题