简述类的定义与使用,使用已经存在的类定义作为基础建立新的类定义
2019-9-6 Python类Class的定义和使用:描述具有相同属性和方法的对象的一组类变量:它们在整个实例化对象中是通用的,类变量定义在类内和函数体外部。类变量通常不会被重写为实例变量。如果从父类继承的方法不能满足子类的需要,可以重写。这个过程称为方法覆盖。覆盖局部变量,也称为方法:方法中定义的变量,只作用于当前实例的类实例变量:在类声明中,属性由变量表示,变量是在类声明内部但在类的其他成员方法外部声明的继承:也就是说,派生类继承基类的字段和方法实例化:创建类的实例,类的具体对象:类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法1。类别的定义。
语法:
类名:[文件字符串] # class文档字符串语句#类体,由类成员、方法和数据属性组成;类Car(object): #定义一个类,派生自对象类def infor(self): #定义成员方法print(这是一辆车)2 .构造一个方法。
类构造方法或初始化方法,创建该类的实例时将调用该方法。每当实例化一个对象时,都可以传入参数,这些参数将自动传入_init_()方法。您可以重写此方法来定义对象的初始化操作。定义构造方法时,self是必要参数,是第一个参数。如果在Python中定义类时没有定义_init_()方法,那么在实例化时,系统会自动调用默认的构造函数(不带参数的_ init _()方法)。一个类中可以定义多个构造函数,但是实例化一个类时只会实例化最后一个构造函数,即后面的构造函数会覆盖前面的构造函数,需要根据最后一个构造函数的形式进行实例化(参数与最后一个构造函数相同)。因此,最好在一个类中只定义一个构造函数。初始化示例包括:定义和
语法:def _ init _(self):statement class my class:I=612 def _ _ init _ _(self,you): self.you=you def func (self,Me):self . Me=mereturnself . Me like self . you user=my class( lion )print(调用类的属性:,user.i) print(调用类的方法:,user.func(monkey )调用类的属性:612
调用类的方法:猴子像狮子
分析这段代码,乍一看,似乎有点傻,和Java面向对象类的定义大相径庭。在类中定义函数时,通常需要将函数的第一个参数定义为self,self指向对象本身。这里有一个例子
类早餐:def set_name(self,name):self . name=name def get _ name(self):return self . name a=Breakfast()b=Breakfast()a . set _ name( milk )b . set _ name( bread )print(a . get _ name())print(b . get _ name())milk
面包
当对象A和B分别调用set_name()和get_name()方法时,self指向A和B,也就是对象本身。
3.内置的类属性
_dict_:类的属性(包括字典,由类的数据属性组成)
_doc_:类的文档字符串
_name_:类名
_module_:类定义所在的模块(类的全称是 _ main _。如果该类位于导入模块mymod中,则为className。_module _等于mymod)
_bases _:一个类的所有父类构成元素(包括父类构成的元组)
4.类别示例
创建类实例。
Car=Car() #实例化对象car.infor() #在这里调用对象//Output的成员方法:这是一个car 内置函数isinstance()
函数:测试一个对象是否是一个类的实例。
is instance(car,car) true 内置函数类型()
角色:查看对象类型。
类型(汽车)类别 _ _main_ _。汽车
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。