Python之Class&Object

本文介绍了面向对象编程的基本概念,包括类和对象的区别、class的使用方法、继承与重写的实现方式,以及super关键字的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

类和对象的概念很难去用简明的文字描述清楚。从知乎上面的一个回答中可以尝试去理解:

对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
类:类是一个模板,它描述一类对象的行为和状态。

我觉得有一本书对这个类与对象描述的特别好:Head First Java第2版中文版,大家可以通过Java去学习类和对象。

class

class是用来定义类的。类在面向对象编程里面是很有用的,能够大大提升开发效率和代码维护性。直接上代码学习:

class student(object):
    def print_info(self):
        print("student's info is very important!")

student1 = student()
student1.print_info()

运行结果如图:
这里写图片描述

class student():
    def __init__(self,name,gender):
        self.Name = name
        self.Gender = gender
        print("student's name is ",name,' and it is a ',gender)

testman = student("Mike","Male")

这个类可以通过一个__init__ 进行初始化,相当于定义类了。在主代码中,先要进行实例化,即testman = student() 然后才能调用里面的方法。运行结果如下:
这里写图片描述

继承

关于继承,就是子类可以继承父类的公有函数。例如:

class Parent:
    def Family(self):
        print("we are family")

class Child(Parent):
    pass

father = Parent()
son = Child()

father.Family()
son.Family()

在这里,Parent 类是父类,Child 类是子类,但是通过定义,继承了父类。所以在后面实例化之后,son 依然可以调用父类的函数。最后的运行结果如下:
这里写图片描述

override

当然,子类除了继承,还可以重写父类的函数功能。

class Parent:
    def Family(self):
        print("we are family")

class Child(Parent):
    def Family(self):
        print("hey,i am son")

father = Parent()
son = Child()

father.Family()
son.Family()

在这个例子中,Child 类重写了父类函数里面的Family 函数,最后的运行结果如下:
这里写图片描述

super

super是一个超类。这个概念很抽象,但是用例子来说明一下就不会那么抽象了。

class Parent:
    def Family(self):
        print("we are family")

class Child(Parent):
    def Family(self):
        print("hey,i am son")
        super(Child,self).Family()
        print("again, i am son")

father = Parent()
son = Child()

father.Family()
son.Family()

运行结果如下:
这里写图片描述
从上面的例子很容易看出,super 就是将父类的函数再调用了一次。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值