__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 战斗机会飞 这种飞机是战斗机,他的功能是打仗 客机一般都会有一个驾驶员 这种飞机是客机,他的功能是载人 播种机都需要加油 这种飞机是播种机,他的功能是播种
类可以是一个,但对象可以实例化出多个,每个对象彼此都是独立的