python中的_init_和self关系

426次阅读
没有评论
python中的_init_和self关系

在开始讲解二者的关系之前,我们先来把它们的基本意思弄清楚。_init_是我们在python类中的一个方法,self大家简单的理解为参数就可以了。那么在使用_init_的时候,就不可避免的要讨论参数的问题。下面我们在了解了_init_的用法,然后借助_init_和self在实例中的关系帮助大家理解。

1._init_基本用法

class Person(object):
    """Silly Person"""
 
    def __init__(self, name, age):
        self.name = name
        self.age = age
 
    def __str__(self):
        return '<Person: %s(%s)>' % (self.name, self.age)
 
if __name__ == '__main__':
    piglei = Person('piglei', 24)
    print piglei

2.__init__和self实例

__init__存在的意义,往往是赋值,或者作为启动内部方法用的做个比喻,你建立一个类,就像建立了一个班级,每个实例,就是一个学生,但只要学生进入了班级,就要先给他发一套,对应这个班级要上课的书,那么这个过程,发书,赋值,就是在init里面做至于self,就是代表这一个学生,一个学生,首先每个学生有每个学生的属性,每次运行实例方法的时候,或者改变实力属性的时候,只是改变他自己的,不能一个学生考试不及格,全班都算挂科吧?

class xuesheng:
    def __init__(self,n):
        self.yuwen=n
    def chengji(self):
        print(self.yuwen)
a=xuesheng(100)
b=xuesheng(20)
a.chengji()
b.chengji()

一个学生,考试100分,一个学生,考试20分。

他们都是,在init里面赋值的,而且是赋值给self,就是这个实例。

然后,想查看他们成绩,在调用一个成绩方法,打印出来的时候,就是他们各自,自己的成绩,这个时候,要调用self的属性,如果没有self,就凉凉了。

相信经过把_init_和self放在现实实例结合代码的运行,很多小伙伴已经能理解二者的关系了,这比我们直接用概念和代码分享给大家的效果要好很多。

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2021-05-16发表,共计1025字。
新手QQ群:570568346,欢迎进群讨论 Python51学习