python里面的self(python中self可以在函数中使用吗?)
首先self本来是在类中用到的 ,不可以用在函数中 。很多小伙伴在学习的时候 ,因为对模块之间的联系把握比较迷糊 ,所以在使用上容易混淆出错 。就拿self来说 ,本来是我们在类中用到的 ,有些小伙伴学习了函数后把self也应用到了其中 ,这其实是不可取的 。
下面我们就self进行一个全面的讲解 ,其中的注意点还需要小伙伴们加强记忆 。
Python中self在类模板中出现的两个位置:
1.各个类方法的形参变量中 ,作为第一个参数;
2.各个类方法体在调用类属性和类方法时 ,以点取法获取 。
classSequence(nn.Module): def__init__(self): super(Sequence,self).__init__() self.lstm1=nn.LSTMCell(3,51) self.lstm2=nn.LSTMCell(51,51) self.linear=nn.Linear(51,3) defforward(self,input,h_t,c_t,h_t2,c_t2): outputs=[] fori,input_tinenumerate(input): h_t,c_t=self.lstm1(input_t,(h_t,c_t)) h_t2,c_t2=self.lstm2(h_t,(h_t2,c_t2)) output=self.linear(h_t2) outputs+=[output] outputs=torch.stack(outputs,0).squeeze(2) returnoutputs,h_t,c_t,h_t2,c_t2注意点:
1.self只有在类方法中才会出现 ,独立的函数或方法是不必带有self的;
2.self在定义类的方法时是必须有的 ,但是在调用时是不用写的 ,因为解释器会自动将 self变量添加到方法的参数列表中;
3.self指的是类实例化后的对象本身,并不是类本身 ,因为类本身是不会被解释器解释运行的 ,因此它的属性 、方法 、参数都不是真正的有效值;
4.self可以看做是一个占位符,因此它的名称并不是一定要写生self的 ,在python中self也不是关键字 ,这个名字是可以随意定义的 ,但为了提高代码的可读性 ,最好是将其命名成self 。
以上就是python中self的基本知识概要 ,通过学习我们知道独立的函数中是不必带有self的 ,这点小伙伴们一定要记住啦 。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!