027. Python面向对象的__init__方法

__init__魔术方法(构造方法)

触发时机:实例化对象,初始化的时候触发
功能:为对象添加成员
参数:参数不固定,至少一个self参数
返回值:无

基本用法,至少含有一个参数

复制代码
class MyClass():
        def __init__(self):
                self.name = "Chris"
#实例化对象
obj = MyClass()
print(obj.name)
复制代码

执行

[root@node10 python]# python3 test.py
Chris

多个参数的__init__ 构造方法

复制代码
class MyClass():
        def __init__(self,name):
                self.name = name
#实例化对象
obj = MyClass("Ning")
print(obj.name)
obj = MyClass("Ning1")
print(obj.name)
复制代码

执行

[root@node10 python]# python3 test.py
Ning
Ning1

综合实例

复制代码
class Plane():
        def __init__(self,name,funaction):
                self.name = name
                self.funaction = funaction
        def fly(self):
                print(self.name + "会飞")
        def capitain(self):
                print(self.name + "一般都会有一个驾驶员")
        def addoil(self):
                print (self.name + "都需要加油")
        def plane_info(self):
                print ("这种飞机是{},他的功能是{}".format(self.name,self.funaction))
# __init__构造方法,传递参数时,就在实例化类的括号中填写
obj = Plane("战斗机","打仗")
obj.fly()
obj.plane_info()

obj1 = Plane("客机","载人")
obj1.capitain()
obj1.plane_info()

obj2 = Plane("播种机","播种")
obj2.addoil()
obj2.plane_info()
复制代码

执行

复制代码
[root@node10 python]# python3 test.py
战斗机会飞
这种飞机是战斗机,他的功能是打仗
客机一般都会有一个驾驶员
这种飞机是客机,他的功能是载人
播种机都需要加油
这种飞机是播种机,他的功能是播种
复制代码

类可以是一个,但对象可以实例化出多个,每个对象彼此都是独立的

posted @ 2021-01-24 21:52  uplee  阅读(107)  评论(0编辑  收藏  举报