# ### __init__ 魔术方法
'''
触发时机:实例化对象,初始化的时候触发
功能:为对象添加成员,用来初始化的
参数:参数不固定,至少一个self参数
返回值:无
'''
# (1)基本用法
class MyClass():
def __init__(self):
# print(1111)
self.name = "张国成"
# 实例化对象 [类的实例化]
obj = MyClass()
print(obj.name)
# (2) __init__ 可以传递多个参数
class MyClass():
def __init__(self,name):
# self.name 这个name 是成员属性name
# self.name = name 后面的name 是传进来的参数
self.name = name
# 类的实例化 实例化对象
# 把参数传递到MyClass后面的这个括号里
obj = MyClass("陈广耀")
print(obj.name)
# (3) 综合案例
'''
类可以是一个,但对象可以是多个.对象之间彼此独立
'''
class Children():
def __init__(self,name,skin):
self.name = name
self.skin = skin
def eat(self):
print("小孩生下来的时候,手里拿了大串大腰子")
def drink(self):
print("小孩生下来,手里拿了两瓶啤酒")
def beat_doudou(self):
print("小孩生下来就喜欢打豆豆")
def obj_info(self):
print("小孩的姓名:{},小孩的肤色是{}".format(self.name,self.skin))
'''
同一个类产生了三个对象,但是每个对象彼此都是独立的
而且都可以调用类中的公有成员属性方法.
'''
child1 = Children("方贵权","黑色的")
child1.obj_info()
child1.eat()
child2 = Children("张国成","屎黄色")
child2.obj_info()
child2.drink()
child3 = Children("王宝强","绿色的")
child3.obj_info()
child3.beat_doudou()