(100天2小时第四天)_init_()方法的作用

本文详细探讨了Python中`__init__`方法的作用和使用。`__init__`作为构造函数,用于初始化实例的默认值。当创建类的实例时,如果没有定义`__init__`,会调用父类的构造方法。如果类及其父类均未定义`__init__`,则无任何输出。实例化时,`__init__`的self参数指向实例本身,可以在此设置实例属性。
摘要由CSDN通过智能技术生成

一、为什么一定要定义_init_()方法,先来看看定义和不定义的区别:

1.c是C的实例化对象,如果有_init_()方法先调用C的。

class A:
    def __init__(self):
        print("math")
class B:
    def __init__(self):
        print("hello")
class C(A,B):
    def __init__(self):
        print("world")
    def get(self):
        print("得到方法")

c=C()  #注意括号,要记得加括号,实例化时就会调用本身的方法

  

2.c是C的实例化对象,如果C中没有_init_()方法调用父类的。

  若C(A,B)则调用A的,若C(B,A)则调用B的

class A:
    def __init__(self):
        print("math")
class B:
    def __init__(self):
        print("hello")
class C(A,B):
    #def __init__(self):
       # print("world")
    def get(self):
        print("得到方法")

c=C()  #注意括号,要记得加括号,实例化时就会调用本身的方法

 

3.若A,B,C中都没有该函数,就没有输出。

class A:
    def a(self):
        print("math")
class B:
    def b(self):
        print("hello")
class C(A,B):
    #def __init__(self):
       # print("world")
    def get(self):
        print("得到方法")

c=C()  #注意括号,要记得加括号,实例化时就会调用本身的方法
print('都没有')

  

4.在类中__init__()函数叫构造函数,又叫构造方法,也可以叫初始化函数。它的作用就是初始化实例时,初始化传入实例的的默认值。如果不写__init__(),就会调用的默认为空的__init__(),说白了,这个方法不管你写不写,都会调用,而且,一旦实例化就会调用。

注意:“__init__”前后分别有两个下划线!!!

注意到__init__方法的第一个参数永远是self,表示创建的实例本身,因此,在__init__方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身。

有了__init__方法,在创建实例的时候,就不能传入空的参数了,必须传入与__init__方法匹配的参数,但self不需要传

class Student():
    def __init__(self, name, score):
        self.name=name
        self.score=score

bart = Student('Bart Simpson', 59)
print(bart.name)
print(bart.score)

 

和普通的函数相比,在类中定义的函数只有一点不同,就是第一个参数永远是实例变量self,并且,调用时,不用传递该参数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值