创新互联Python教程:python中self可以在函数中使用吗?

首先self本来是在类中用到的,不可以用在函数中。很多小伙伴在学习的时候,因为对模块之间的联系把握比较迷糊,所以在使用上容易混淆出错。就拿self来说,本来是我们在类中用到的,有些小伙伴学习了函数后把self也应用到了其中,这其实是不可取的。

成都创新互联专注于新兴企业网站建设,响应式网站开发,商城系统网站开发。新兴网站建设公司,为新兴等地区提供建站服务。全流程按需定制网站,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务

下面我们就self进行一个全面的讲解,其中的注意点还需要小伙伴们加强记忆。

Python中self在类模板中出现的两个位置:

1.各个类方法的形参变量中,作为第一个参数;

2.各个类方法体在调用类属性和类方法时,以点取法获取。

class Sequence(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)
 
    def forward(self, input, h_t, c_t, h_t2, c_t2):
        outputs = []
        for i, input_t in enumerate(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)
        return outputs, 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的,这点小伙伴们一定要记住啦。

(推荐操作系统:windows7系统、Python 3.9.1,DELL G3电脑。)

网页名称:创新互联Python教程:python中self可以在函数中使用吗?
本文网址:http://www.shufengxianlan.com/qtweb/news11/249611.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联