盏茶python(六) 类
目录
- 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(六) 类相关推荐
- 盏茶python(五) 函数
目录 1.函数定义及调用 1.1 函数定义 1.2 函数调用 2.参数传递 2.1 形参与实参 2.2 位置参数 2.3 关键字参数 2.4 默认参数 2.5 可变长参数*args 2.6 可变长参数 ...
- 盏茶python(四) 控制流
目录 1.条件测试 1.1 比较运算 1.2 逻辑运算 1.3 存在运算 2.分支结构 2.1 单分支 2.2 二分支 2.3 多分支 3.遍历循环 3.1 基本结构 3.2 循环控制 3.3 与el ...
- 盏茶python 资料推荐
Python作为一种简单高效的编程语言,被越来越多的人接受学习,本专栏主要介绍python的相关内容,提供高效学习python的方法,并为致力于机器学习方向做基础.盏茶学习,高效利用点滴时间. 本节主 ...
- python函数模块关键代码_从零开始学Python(六):函数,模块和类的使用
从这章开始,我们不在使用sublime文本编译器进行编码了,主要是我们每次运行的使用还得去命令行执行pyhon ***.py命令查看结果,操作比较麻烦.推荐大家使用Pycharm(具体安装使用教程大家 ...
- Python基础(类与对象)
Python基础(类与对象) 一.编程的两大思想 面向过程和面向对象 面向过程 面向对象 区别 事物比较简单,可以用线性的思维去解决 事物比较复杂,使用简单的线性思维无法解决 共同点:面向对象和面向过 ...
- Python的类和对象的介绍,定义类和对象,定义实例方法和属性以及Python中的魔法方法
Day09新手小白学python 第九节 Python的类和对象的介绍,定义类和对象,定义实例方法和属性以及Python中的魔法方法 目录 Day09新手小白学python 前言 一.面向对象介绍 二 ...
- 关于python创建类的深入理解
背景 我们知道在python中一切皆为对象的概念,那我们们来看一段程序 class Foo(object):def __init__(self, name):self.name = namef = F ...
- 六类布线六大注意事项
六类布线系统在传输速率上可提供高于超五类2.5倍的高速带宽,在100MHz时高于超五类300%的ACR值.在施工安装方面,六类比超五类难度也要大很多. 六类布线系统的施工人员必须按照国际标准要求的规范 ...
- python定义类()中写object和不写的区别
python定义类()中写object和不写的区别 这里需要说明一下: python3中,类定义默认继承object,所以写不写没有区别 但在python2中,并不是这样 所以此内容是针对python ...
最新文章
- Linux中检查本地系统上的开放端口列表的方法
- jQuery的each()方法
- html相同数据合并单元格合并单元格,基于JQuery实现相同内容合并单元格的代码...
- 2、Spring Cloud - 入门概述
- 女朋友当众甩了我一巴掌,我扑上去......
- 前端学习(2220):react之jsx的样式小案例
- Spark入门-了解Spark核心概念
- 好用的python学习软件_5种好用的Python工具!Python学习分析
- 泸州职称计算机,2018年11月四川泸州职称计算机考试10月8日开始报名
- python软件下载对电脑配置要求-python3批量统计用户电脑配置
- android:获取网络时间、文件路径,修改包名,发布release版本
- 百度硬盘搜索SDK接口说明(摘自百度)
- python dlib caffe人脸相似度_人脸检测学习笔记(数据集-DLIB人脸检测原理-DLIBOpenCV人脸检测方法及对比)...
- HTML+CSS仿小米官网首页 项目总结
- IT视频课程集(包含各类Oracle、DB2、Linux、Mysql、Nosql、Hadoop、BI、云计算、编程开发、网络、大数据、虚拟化
- H-divergence
- 知识付费小程序源码,可上架安卓苹果app应用商店、打包为H5、抖音微信小程序
- 批量导入Sql数据库
- 提升树(Boosting tree)算法总结
- 研究了3天,终于将 Shader 移植到 Cocos Creator 2.2.0 上了
热门文章
- android one指纹解锁,Microsoft OneDrive for Android终于获得指纹解锁
- SQL表分区 partition的用法
- [转帖]华为的“大海思”与“小海思”
- MATLAB 设置legend加标题
- 浅谈分布式全闪存储自动化测试平台设计
- 苹果4s忘记id密码怎么办_苹果手机便签分类密码忘记了,怎么办?
- 视频的码率、分辨率、帧率与画质有什么关系?
- python是什么?他的特点是什么?
- python url解析_python——urlparse:解析url
- 最可贵的努力,是保持正确的姿势