python中类和对象
Class(类):用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。
对象是类的实例。这里表示 类里可以有多个属性,也可以有多个方法。同时也有自己的字段。
这里的属性 官方语言叫做 类变量,属于这个类的公用部分,谁都可以来用,所以通常不作为实例变量使用,就是一个符号。而方法,则是在类中!
1. 类的继承(直接在类名后面括号里卖弄写入要继承的类名)
子类会继承父类的所有的功能!注 (如果子类中定义与父类同名的方法或者属性,则会自动覆盖覆盖父类相对应的方法或属性)
注意: 子类中在对 __init__ 内的变量在其他任何方法上做修改,内外值都会随着改变
子类重写了父类的属性或者方法后,父类的信息都会改变
多重继承: class A classB c = classC(A,B) 顺序按照AB 顺序来(多重继承代码容易混乱,应尽量避免使用)
Super() 调用显示父类的属性或函数 在重写的时候调用可以延续父类的属性或方法,子类可选是否借用父类
格式为: super(父类,参数self).__init__() 父类函数
静态方法: 使用前提,需要一个参数不能让别人进行修改,在非特定环境下该静态变量或方法外部修改无效,只有在特定环境下修改才可行
绑定:python严格要求方法需要有实例才能被调用,这种限制其实就是python所谓的绑定概念。
1、issubclass(class, classinfo)
a、一个类被认为是其自身的子类
b、classinfo可以是类对象组成的元组,只要class与其中任何一个候选子 类,则返回True
2、isinstance(object,classinfo)
a、如果第一个参数不是对象,则永远返回False
b、如果第二个参数不是类或者由类对象组成的元组,会抛出一个TypeError 异常。
3、hasattr(object,name):测试一个对象是否有指定的属性
4、getattr(object, name[, default]):返回对象指定的属性值
5、setattr(object,name,value):设置指定属性的值
6、delattr(object,name):删除对象中指定的属性,如果属性不存在抛出 异常。
2、多态(不同的对象对同一类方法的不同响应)
多态: 著名的鸭子测试: 当我们看到一只鸟走起来像鸭子,游泳起来像鸭子,叫起来也像鸭子,那么这只鸟就可以被称为鸭子
意思是:一个对象有效的语义,不是由继承自特定的类或实现特定的接口,而是由当前的方法属和属性的集合决定的。
注意: 类型检查是毁掉多态的利器 type() isinstance() issubclass() 慎用!
类的封装和私有化: 方法 或者属性 前面添加上 __ 即可 这样的话外部无法访问,但可以通过方法来访问
如果想在外部访问私有属性或方法前添加上 @property 可以直接访问 对象.属性
3、self(对象的方法中会传递一个self参数)
由一个类可以生成多个对象,对象之间都极为相似,来源于同一个类,不同的对象调用方法时传递self参数告诉python当前
4、python的魔法方法(总是被双下划线包围)
1、__init__(self, param1, param2, ...):类似于java中的构造方法
ps:init方法不能有返回值
2、__new__(cls[,...]):对象实例化时调用的方法,返回一个类对象
3 、__del__(self):当对象被销毁的时候(垃圾回收机制)自动调用
5、python定义私有属性或方法
在python中定义私有的变量只需要在变量名或函数名前面加上"__"两个下划线,那么这个函数或变量就会变成私有的了。
python中类和对象相关推荐
- 学习笔记之——Python中类和对象的理解
学习笔记之--Python中类和对象的理解 面向对象的含义和特性 类 Python中类的定义.结构.创建 Python类的定义 Python类的结构 类的创建 类的属性 类的方法 对象 对象的创建 参 ...
- 混淆概念详细解析:Python中类、对象、方法、函数和属性的区别和理解
混淆概念详细解析:Python中类.对象.方法.函数和属性的区别和理解 前言 一.类.对象.方法.函数和属性的区别和理解 二.一个类的简单案例和对各种概念的理解 三.总结 欢迎学习交流! 邮箱: z- ...
- python 中类与对象
python中类.属性.方法用现实中的一个例子来解释,例如汽车类,方法:能跑,属性:白色的.加长的.python中的属性就是在python中定义的成员变量,方法就是在python中定义的函数. pyt ...
- python中类和对象的内容_python中的类和对象
摘要:本文主要介绍了python中的类和对象的基础内容.由于在c++中对类和对象已经有了较为深刻的认识,所以此部分就是主要熟悉一下创建方法和使用方法. 1.类.对象的创建和简单使用 主要观察创建类的方 ...
- Python中类、对象与self详解
先介绍一下python中的类与对象/实例.然后详细说明self.说明:对象等同实例,本文称呼不一致时请自行统一 [一]类与对象/实例 1.类 (1)类由名称.属性.方法三部分组成 (2)类是抽象模板, ...
- python中类和对象_Python里的类和对象简介
---恢复内容开始--- Python里的类 对象=属性+方法: 对象的属性主要是指主要的特征和参量,而方法主要是指函数: 类是一个具有一定特征和方法的集合,而对象是类的一个:类和对象的关系就如同模具 ...
- Python中类与对象的关系
Python可以面向对象编程,与之前学习的Java面向对象编程的思路很像 总结如下 定义类: 定义方式 class classname(): def fangfaname() 类主体(可以包含此类原 ...
- python中类与对象之间的关系_python类与类之间的关系
在面向对象中,类和类之间也可以产生相关的关系 类中的关系: 依赖关系是最轻的,最重的是继承关系,关联关系是比较微妙的 依赖关系 执行某个动作的时候,需要xxx来帮助完成这个操作,此时的关系是最轻的. ...
- python中类与对象之间的关系_python 类与类之间的关系
一.依赖关系(紧密程度最低) (1)简单的定义:就是方法中传递一个对象.此时类与类之间存在依赖关系,此关系比较低. (2)实例植物大战僵尸简易版 题目要求:创建一个植物,创建一个僵尸 1.植物:名字. ...
最新文章
- 网络通信模型(IO模型)
- Android Studio(十二):打包多个发布渠道的apk文件
- 3.3V与5V的电平转换
- 用Python机器学习搞定验证码
- 线性代数---向量问题的求解方法
- HK-2000 数采仪系统说明之 5.H2000SService程序调用说明
- [html] 你有使用过output标签吗?说说它的用途有哪些?
- 记:Ubuntu 14.04 安装32位库支持库失败
- k8s架构及服务详解
- ASP.NET服务器控件对应的HTML标签
- matlab2c使用c++实现matlab函数系列教程- polyint函数
- 哔哩哔哩---P2 WPF基础入门视频(布局)
- 北斗三号频点_解码北斗三号
- 如何调整eclipse字体大小
- 实用好用的在线二维码生成器有哪些?
- 大数据产品概念和分类
- 如何下载安装weka包
- dell5580bios恢复出厂_如何进入戴尔笔记本bios及恢复bios出厂设置
- linux服务器发异常包,如何排查Linux服务器上的恶意发包行为
- Home Assistant -ESP Home接入homekit篇