目录

  • 1.为什么使用类
  • 2.类的定义
    • 2.1 类的命名
    • 2.2 类的属性
    • 2.3 类的方法
  • 3.创建实例
    • 3.1 实例的创建
    • 3.2 访问属性
    • 3.3 调用方法
    • 3.4 属性修改
  • 4.类的继承
    • 4.1 简单的继承
    • 4.2 给子类添加属性和方法
    • 4.3 重写父类的方法-多态

盏茶python(一) 语言特性及环境配置
盏茶python(二) 基本数据类型
盏茶python(三) 组合数据类型
盏茶python(四) 控制流
盏茶python(五) 函数
盏茶python(六) 类
本节我们将要讲解python类的部分,主要包括类的定义、创建实例及类的继承等内容。

1.为什么使用类

面向对象的编程更符合人类对客观世界的抽象和解释。

2.类的定义

类的三要素为类的名称、属性及方法。

2.1 类的命名

类的命名常会使用驼峰命名法,如Dog,CreditCard,类的定义前后一般空出两行。

2.2 类的属性

类的属性初始化方法如下

# 初始化类的属性
# def __init__(self.要传递的参数)
class Car():def __init__(self, brand, model):self.brand = brandself.model = model
2.3 类的方法

类的方法定义如下

# 类的方法即类内部定义的函数
class Car():def __init__(self, brand, model):self.brand = brandself.model = modeldef get_brand(self):print(self.brand)
3.创建实例
3.1 实例的创建

将实例赋值给对象,实例化过程中,传入相应的参数

# v = 类名(必要的初始化参数)
my_car = Car("BWM", "X1")
3.2 访问属性
# 实例名.属性名
print(my_car.brand)
3.3 调用方法
# 实例名.方法名(必要的参数)
print(my_car.get_brand())
3.4 属性修改

类的属性修改可以采用访问属性的方法进行属性的修改,也可以采用调用方法进行属性的修改。

class Car():def __init__(self, brand, model):self.brand = brandself.model = modeldef get_brand(self, new_brand):self.brand = new_brandmy_car = Car("BWM", "X1")
my_car.brand = "BENCH"
my_car.get_brand("BENCH")
4.类的继承

已知A类,希望创建B类,使得B类继承A类的属性和方法,继承就是用过低层抽象继承高层抽象的过程。

4.1 简单的继承

继承会自动继承父类的所有方法,具体继承方法:

# class 子类名(父类名)
# 父类
class Car():def __init__(self, brand, model):self.brand = brandself.model = modeldef get_brand(self, new_brand):self.brand = new_brand# 子类
class ElectronicCar(Car):def __init__(self, brand, model):super().__init__(brand, model)
4.2 给子类添加属性和方法

添加方法:

# class 子类名(父类名)
# 父类
class Car():def __init__(self, brand, model):self.brand = brandself.model = modeldef get_brand(self, new_brand):self.brand = new_brand# 子类
class ElectronicCar(Car):# 添加属性def __init__(self, brand, model, battery_size):super().__init__(brand, model)self.battery_size = battery_size# 添加方法def get_electronic(self):print(self.battery_size)
4.3 重写父类的方法-多态

添加方法:

# class 子类名(父类名)
# 父类
class Car():def __init__(self, brand, model):self.brand = brandself.model = modeldef get_brand(self, new_brand):self.brand = new_brand# 子类
class ElectronicCar(Car):# 添加属性def __init__(self, brand, model, battery_size):# 声明继承父类属性super().__init__(brand, model)self.battery_size = battery_size# 重写方法def get_brand(self):print("new get brand method")

盏茶python(六) 类相关推荐

  1. 盏茶python(五) 函数

    目录 1.函数定义及调用 1.1 函数定义 1.2 函数调用 2.参数传递 2.1 形参与实参 2.2 位置参数 2.3 关键字参数 2.4 默认参数 2.5 可变长参数*args 2.6 可变长参数 ...

  2. 盏茶python(四) 控制流

    目录 1.条件测试 1.1 比较运算 1.2 逻辑运算 1.3 存在运算 2.分支结构 2.1 单分支 2.2 二分支 2.3 多分支 3.遍历循环 3.1 基本结构 3.2 循环控制 3.3 与el ...

  3. 盏茶python 资料推荐

    Python作为一种简单高效的编程语言,被越来越多的人接受学习,本专栏主要介绍python的相关内容,提供高效学习python的方法,并为致力于机器学习方向做基础.盏茶学习,高效利用点滴时间. 本节主 ...

  4. python函数模块关键代码_从零开始学Python(六):函数,模块和类的使用

    从这章开始,我们不在使用sublime文本编译器进行编码了,主要是我们每次运行的使用还得去命令行执行pyhon ***.py命令查看结果,操作比较麻烦.推荐大家使用Pycharm(具体安装使用教程大家 ...

  5. Python基础(类与对象)

    Python基础(类与对象) 一.编程的两大思想 面向过程和面向对象 面向过程 面向对象 区别 事物比较简单,可以用线性的思维去解决 事物比较复杂,使用简单的线性思维无法解决 共同点:面向对象和面向过 ...

  6. Python的类和对象的介绍,定义类和对象,定义实例方法和属性以及Python中的魔法方法

    Day09新手小白学python 第九节 Python的类和对象的介绍,定义类和对象,定义实例方法和属性以及Python中的魔法方法 目录 Day09新手小白学python 前言 一.面向对象介绍 二 ...

  7. 关于python创建类的深入理解

    背景 我们知道在python中一切皆为对象的概念,那我们们来看一段程序 class Foo(object):def __init__(self, name):self.name = namef = F ...

  8. 六类布线六大注意事项

    六类布线系统在传输速率上可提供高于超五类2.5倍的高速带宽,在100MHz时高于超五类300%的ACR值.在施工安装方面,六类比超五类难度也要大很多. 六类布线系统的施工人员必须按照国际标准要求的规范 ...

  9. python定义类()中写object和不写的区别

    python定义类()中写object和不写的区别 这里需要说明一下: python3中,类定义默认继承object,所以写不写没有区别 但在python2中,并不是这样 所以此内容是针对python ...

最新文章

  1. Linux中检查本地系统上的开放端口列表的方法
  2. jQuery的each()方法
  3. html相同数据合并单元格合并单元格,基于JQuery实现相同内容合并单元格的代码...
  4. 2、Spring Cloud - 入门概述
  5. 女朋友当众甩了我一巴掌,我扑上去......
  6. 前端学习(2220):react之jsx的样式小案例
  7. Spark入门-了解Spark核心概念
  8. 好用的python学习软件_5种好用的Python工具!Python学习分析
  9. 泸州职称计算机,2018年11月四川泸州职称计算机考试10月8日开始报名
  10. python软件下载对电脑配置要求-python3批量统计用户电脑配置
  11. android:获取网络时间、文件路径,修改包名,发布release版本
  12. 百度硬盘搜索SDK接口说明(摘自百度)
  13. python dlib caffe人脸相似度_人脸检测学习笔记(数据集-DLIB人脸检测原理-DLIBOpenCV人脸检测方法及对比)...
  14. HTML+CSS仿小米官网首页 项目总结
  15. IT视频课程集(包含各类Oracle、DB2、Linux、Mysql、Nosql、Hadoop、BI、云计算、编程开发、网络、大数据、虚拟化
  16. H-divergence
  17. 知识付费小程序源码,可上架安卓苹果app应用商店、打包为H5、抖音微信小程序
  18. 批量导入Sql数据库
  19. 提升树(Boosting tree)算法总结
  20. 研究了3天,终于将 Shader 移植到 Cocos Creator 2.2.0 上了

热门文章

  1. android one指纹解锁,Microsoft OneDrive for Android终于获得指纹解锁
  2. SQL表分区 partition的用法
  3. [转帖]华为的“大海思”与“小海思”
  4. MATLAB 设置legend加标题
  5. 浅谈分布式全闪存储自动化测试平台设计
  6. 苹果4s忘记id密码怎么办_苹果手机便签分类密码忘记了,怎么办?
  7. 视频的码率、分辨率、帧率与画质有什么关系?
  8. python是什么?他的特点是什么?
  9. python url解析_python——urlparse:解析url
  10. 最可贵的努力,是保持正确的姿势