Python 有种法,叫做魔法法。Python 的类提供的,两个下划线开始,两个下划线结束的法,
就是魔法法,魔法法在恰当的时候就会被激活,动执。 魔法法的两个特点:
两侧各有两个下划线;
"咒语"名字已经由 Python 官定义好,我们能乱写。
__init__() 法,在创建个对象时默认被调,需要动调。在开发中,如果希望在创建对象的
同时,就设置对象的属性,可以对 __init__ 法进改造。
class Cat:
"""这是个猫类"""
def __init__(self,name): # 重写 __init__ 魔法法
self.name = name
def eat(self):
return "%s爱吃"%self.name
def drink(self):
return '%s爱'%self.name
"""
tom = Cat()
TypeError: __init__() missing 1 required positional argument: 'name'
这种写法在运时会直接报错!因为 __init__ 法要求在创建对象时,必须要传递 name 属性
,如果传会直接报错!
"""
tom = Cat("Tom") # 创建对象时,必须要指定name属性的值
tom.eat() # tom爱吃
注意:
1. __init__() 法在创建对象时,会默认被调,需要动的调这个法。
2. __init__() 法的self参数,在创建对象时需要传递参数,python解释会把创建好的对象引
直接赋值给self
3. 在类的内部,可以使self来使属性和调法;在类的外部,需要使对象名来使属性和调
法。
4. 如果有多个对象,每个对象的属性是各保存的,都有各独的地址。
5. 法是所有对象共享的,只占份内存空间,法被调时会通过self来判断是哪个对象调实
法。
魔法法
1.__init__法
千锋Python人工智能学院
评论0