Python基础学习 -- 面向对象

简介: 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()
运行结果:
我是老师
张三在玩篮球
张三在讲课
张三在学习
张三爱学习
目录
相关文章
|
17天前
|
Python
python函数的参数学习
学习Python函数参数涉及五个方面:1) 位置参数按顺序传递,如`func(1, 2, 3)`;2) 关键字参数通过名称传值,如`func(a=1, b=2, c=3)`;3) 默认参数设定默认值,如`func(a, b, c=0)`;4) 可变参数用*和**接收任意数量的位置和关键字参数,如`func(1, 2, 3, a=4, b=5, c=6)`;5) 参数组合结合不同类型的参数,如`func(1, 2, 3, a=4, b=5, c=6)`。
16 1
|
12天前
|
Python
python学习3-选择结构、bool值、pass语句
python学习3-选择结构、bool值、pass语句
|
3天前
|
运维 Shell Python
Shell和Python学习教程总结
Shell和Python学习教程总结
|
3天前
|
Python
Python从入门到精通:深入学习面向对象编程——2.1.2继承、封装和多态的概念
Python从入门到精通:深入学习面向对象编程——2.1.2继承、封装和多态的概念
|
3天前
|
开发框架 前端开发 数据库
Python从入门到精通:3.3.2 深入学习Python库和框架:Web开发框架的探索与实践
Python从入门到精通:3.3.2 深入学习Python库和框架:Web开发框架的探索与实践
|
3天前
|
数据采集 数据可视化 数据处理
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
|
3天前
|
存储 网络协议 关系型数据库
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
|
11天前
|
机器学习/深度学习 算法 Python
使用Python实现集成学习算法:Bagging与Boosting
使用Python实现集成学习算法:Bagging与Boosting
20 0
|
11天前
|
Python
python学习-函数模块,数据结构,字符串和列表(下)
python学习-函数模块,数据结构,字符串和列表
55 0
|
12天前
|
Python
python学习14-模块与包
python学习14-模块与包