在类的内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数self, 且为第一个参数,self代表的是类的实例。
self:类的方法与普通的函数只有一个特别的区别——必须有一个额外的第一个参数名称, 按照惯例它的名称是self。类的实例:是将类应用在实例场景之中,比如有个类里的函数是f,假如这个f具有print某一时刻的天气状况的能力,那么如果我需要这个f来print一下今天12点的天气,那么让他打印今天12点的天气这个动作,就是类的实例化,让类中的函数具有的能力变成真实的动作。
实例化实例:#类定义classpeople:#定义基本属性 name='' age=0#定义私有属性,私有属性在类外部无法直接进行访问#定义构造方法def__init__(self,n,a): self.name= n self.age= adefspeak(self):print("%s 说: 我%d 岁。"%(self.name,self.age))# 实例化类 p= people('Python',10,30) p.speak()
输出结果:
4.继承
假如有两个家族,有一个家族A开始没落了,另一个新兴的家族B想继承A家族的物资和佣人,那么就可以通过如下的方式实现继承,在这里,家族A即是父类,家族B是子类。在用法上,如果B家族可以任意使用A家族的物品和佣人。
class[子类]([父类]):BaseClassName(示例中的基类名)必须与派生类定义在一个作用域内。除了类,还可以用表达式,基类定义在另一个模块中时这一点非常有用。python还支持多继承,即可以继承多个父类。继承方式和单继承方式一样,方式如下:class[子类]([父类]1,[父类]2,[父类]3):
继承实例:
#类定义classpeople:#定义基本属性 name='' age=0#定义私有属性,私有属性在类外部无法直接进行访问 __weight=0#定义构造方法def__init__(self,n,a,w): self.name= n self.age= a self.__weight= wdefspeak(self):print("%s 说: 我%d 岁。"%(self.name,self.age))#单继承示例classstuden