类(class)与实例(instance)。
女娲
class 类 (狗)
instance 实例 (芋圆) ps: 芋圆是一只粉丝13万的网红柴犬
狗会有些属性(体重,年龄,身高)
狗会有些技能(卖萌,打滚)
__init__ 方法的主要作用,就是初始化狗的属性。这些属性,在女娲初始化狗的时候就要赋予给它,比如Dog(40,4,50)。这时女娲就把狗创造出来了,也就是实例化了狗,那么狗到底有哪些技能呢,这就看有没有在类里面定义了,如果有定义卖萌的技能,那么狗就可以调用卖萌的技能来卖萌。
下面来看下例子体会一下:
class Dog():
'''定义狗这个类'''
def __init__(self,name,age,weight):
'''初始化属性name,age,weight'''
self.name = name
self.age = age
self.weight = weight
def maimeng(self):
'''定义卖萌的技能'''
print("卖萌")
def dagun(self):
'''定义打滚的技能'''
print("打滚")
#创建实例
chaiquan = Dog('芋圆',4,30)
#实例们开始使用技能
chaiquan.maimeng()
类中的函数称为方法;即上述代码中的函数maimeng,dagun都是方法,包括__init__也是。
和普通的函数相比,在类中定义的函数只有一点不同,就是第一个参数永远是实例变量self,并且,调用时,不用传递该参数。
首先定义了一个名为狗的类。根据约定,在Python中,首字母大写的名称指的是类。之后,由于类的特定模版作用,用一个特殊的__init__方法,在创建实例的时候,就将对应的属性绑上去:
def __init__(self,name,age,weight):
'''初始化属性name,age,weight'''
self.name = name
self.age = age
self.weight = weight
在这个方法的定义中,形参self必不可少,还必须位于其他形参的前面。
self.name = name 为将形参 name的值存储到变量name中,然后该变量name被关联到 self上。(Python创建实例时,self 就等于实例本身)