分享

python 类简述

 学以致用3 2021-05-02

一个最简单的基本类如下:

# -*- coding: utf-8 -*-   

 class Sjtiqu():

    def __init__(self,x):

        self.x=x

    def jibenmian(self):

        print("hello")

if __name__ == '__main__':

    sjmy1=Sjtiqu("my1")

    print(sjmy1.x)

    sjmy1.jibenmian()

上述程序的运行结果为my1 hello

class Sjtiqu(): 创建一个类对象,名称首字母一般为大写,以区别于函数。

def __init__(self,x):
        self.x=x
类的构造函数,在创建实例时,会自动运行它,__init__方法的第一个参数永远是self,表示创建的实例本身,因此,在__init__方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身,x就是类的一个属性。当然也可以不设置任何属性,内容以pass略过。

self.x=x代表把形参获得的值传递给self.x属性,当然你可以写成,self.y=x。你还可以不设置形参,直接给属性赋值,如self.yx=56。

    def jibenmian(self):
          print("hello")

上面代码代表类的一种方法,可通过实例调用执行, sjmy1.jibenmian(),也可以给方法指定属性。在该方法中,也可像初始函数一样设置类的属性,也可以只设置形参,传入后当局部变量使用。如

    def jibenmian(self,d):
            dd=d

简单的类的继承如下:

        

#coding=gbk 

class B():

    def __init__(self,z):

        self.z=z

        self.w=1

    def ee(self):

        pass 

class A(B):

    def __init__(self,x):

        self.x=x

        self.y=15

    def aa(self):

        pass


在继承后类A将拥有父类的所有方法,但因为构造函数覆盖了父类的构造函数,所以未拥有父类的属性,可以通过super()函数调取父类的构造函数,如:

        

class A(B):

    def __init__(self,x):

        super().__init__()

当然对于被覆盖的父类方法,也可以使用super()函数调取。

    

class A:

    def __init__(self):

        self.n = 2

    def add(self):

       pass

class B(A):

    def __init__(self):

        self.n = 3

    def add(self):

        super().add()

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多