Python基础学习 -- 面向对象

Posted web安全工具库

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础学习 -- 面向对象相关的知识,希望对你有一定的参考价值。

一、类和实例

1、类是抽象的,比如说学生

2、实例是具体的,比如叫小明的学生

3、创建对象首先是调用构造方法,

class Stu():
    班级="145"
    爱好="学习"
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def xuexi(self):
        print(self.name+"爱学习")
    def wan(self,a):
        print(self.name+"在玩"+a)


a=Stu("小明",18)
print(a.name+"的爱好是:"+a.爱好)
a.wan("篮球")

运行结果:
小明的爱好是:学习
小明在玩篮球

4、静态方法

直接通过类名调用,不用通过实例对象

@staticmethod
def sti():
    print("我是静态方法")

Stu.sti()

5、继承与派生

Tea继承了Stu,所以Stu有的东西,在Tea中都可以使用

在Tea中比Stu多了一个讲课的方法,该方法被称为派生方法

class Tea(Stu):
    print("我是老师")
    def 讲课(self):
        print(self.name+"在讲课")

a=Tea("张三",12)
a.wan("篮球")
a.讲课()

6、方法的重写

当Tea和Stu中都有xuexi方法时,创建Tea的实例,调用xuexi的方法,执行的是Tea的学习方法

7、super函数

强制调用父类方法,传入的第一个参数为子类,第二个参数为self(可以理解为创建的实例),super(Tea,a).xuexi()

class Stu():
    班级="145"
    爱好="学习"
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def xuexi(self):
        print(self.name+"爱学习")
    def wan(self,a):
        print(self.name+"在玩"+a)
    @staticmethod
    def sti():
        print("我是静态方法")
    def clsm(self):
        print(self.班级)


class Tea(Stu):
    print("我是老师")
    def 讲课(self):
        print(self.name+"在讲课")
    def xuexi(self):
        print(self.name+"在学习")


a=Tea("张三",12)
a.wan("篮球")
a.讲课()
a.xuexi()
super(Tea,a).xuexi()

运行结果:
我是老师
张三在玩篮球
张三在讲课
张三在学习
张三爱学习

以上是关于Python基础学习 -- 面向对象的主要内容,如果未能解决你的问题,请参考以下文章

Python学习笔记——基础篇第六周——面向对象

python_面向对象——编程步骤

学习PYTHON之路, DAY 7 - PYTHON 基础 7 (面向对象基础)

Python 学习笔记 - 面向对象(基础)

[Python]学习基础篇:面向对象编程

python基础学习-面向对象-类的使用