python --- 18 类与类之间的关系, 特殊成员
类与类之间的关系
一.依赖关系
执行某个动作的时候. 需要xxx来帮助你完成这个操作
随时可以更换另外一个东西来完成此操作
此时的关系是最轻的.
二.关联关系(组合关系,聚合关系)
1.一对一关系
2.一对多关系
三.继承关系 (这是最重的关系)
self在访问⽅法的顺序: 永远先找⾃⼰的. ⾃⼰的找不到再找⽗类的
父类 == 基类 == 超类
子类 == 派生类
我们写的类和对象都是可哈希的
如果加上 __hash__ = None 对象就不可哈希
四,特殊成员
1. 类名() 会⾃动执⾏__init__()
创建对象的时候初始化操作
2. 对象() 会⾃动执⾏__call__()
3. 对象[key] 会⾃动执⾏__getitem__()
4. 对象[key] = value 会⾃动执⾏__setitem__()
5. del 对象[key] 会⾃动执⾏ __delitem__()
6. 对象+对象 会⾃动执⾏ __add__()
7. with 对象 as 变量 会⾃动执⾏__enter__ 和__exit__
8. 打印对象的时候 会⾃动执⾏ __str__
9. ⼲掉可哈希 __hash__ == None 对象就不可哈希了.
10.__new__() # 创建对象的时候.开辟内存
五.面向对象编程的执行流程
1. 加载类 -> 给类创建一个名称空间 -> 主要存放类变量.
2.创建对象 -> 先找类. -> 根据类来开辟内存 -> 执行类中的__new__()
-> 执行__init__() -> 返回对象
python --- 18 类与类之间的关系, 特殊成员的更多相关文章
- Python面向对象02/类的空间问题、类与对象之间的关系、类与类之间的关系
Python面向对象02/类的空间问题.类与对象之间的关系.类与类之间的关系 目录 Python面向对象02/类的空间问题.类与对象之间的关系.类与类之间的关系 1. 类的空间问题 2. 类与对象之间 ...
- python 面向对象专题(二):类的空间问题、类与对象之间的关系、类与类之间的关系
https://www.cnblogs.com/liubing8/p/11308127.html 目录 Python面向对象02/类的空间问题.类与对象之间的关系.类与类之间的关系 1. 类的空间问题 ...
- PHP类和对象之间的关系
类是对象的描述: 类和对象之间的关系类似于建房子的图纸和房子: 创建类--new对象--用对象: 一.对象的两个特性: --对象的行为(功能):可以对对象施加操作,例如,电视机的开.关.转换频道: - ...
- JAVA面向对象-----接口与类、接口之间的关系
接口与类.接口之间的关系 大家之前都知道类与类之间的关系继承,那么接口与类之间又是怎样子的关系呢? 接口与类之间是实现关系.非抽象类实现接口时,必须把接口里面的所有方法实现.类实现接口用关键字impl ...
- python包管理工具他们之间的关系
python包管理工具之间的关系 现在的python包管理工具有很多,非常混乱,必须理清他们之间的关系才能更好的使用python构建强大的包关系系统工具. 首先:python官方推荐的第三方库是PyP ...
- Python进阶----表与表之间的关系(一对一,一对多,多对多),增删改查操作
Python进阶----表与表之间的关系(一对一,一对多,多对多),增删改查操作,单表查询,多表查询 一丶表与表之间的关系 背景: 由于如果只使用一张表存储所有的数据,就会操作数 ...
- python 类与类之间的关系. 特殊成员
一.类与类之间的关系 1.依赖关系 在方法的参数位置把另一个类的对象作为参数进行传递 class Person: def play(self, tools): # 通过参数的传递把另一个类的对象传递进 ...
- day16 类之间的关系 特殊成员
类与类之间的关系1.依赖关系(一个对象当另一个对象的参数) 关系最浅, 特殊成员: 1. 类名() 会自动调用 __init__() class Foo: def__init__(self, nam ...
- UML图类,接口之间的关系
UML图类之间的关系(来自大话设计模式中的一张图,代表了类,接口之间的各种关系)
随机推荐
- C# 对数据库操作的帮助类SQLHelper.cs
using System; using System.Collections.Generic; using System.Configuration; using System.Data; using ...
- 54. Spiral Matrix(剑指offer 19)
Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral or ...
- d'jang基础
1,建立一个名为guest的django项目,django-admin startproject guest 生成一个guest文件夹,包含一个guest文件夹和一个manage.py cd gue ...
- Visible Lattice Points (莫比乌斯反演)
Visible Lattice Points 题意 : 从(0,0,0)出发在(N,N,N)范围内有多少条不从重合的直线:我们只要求gcd(x,y,z) = 1; 的点有多少个就可以了: 比如 : 点 ...
- 【转】推荐4个不错的Python自动化测试框架
之前,开发团队接手一个项目并开始开发时,除了项目模块的实际开发之外,他们不得不为这个项目构建一个自动化测试框架.一个测试框架应该具有最佳的测试用例.假设(assumptions).脚本和技术来运行每一 ...
- KVM_webvirtmgr
一.webvirtmgr安装前说明: 1:操作做系统:centos7.2_x86_64 2:安装参考出处1:https://github.com/retspen/webvirtmgr/wiki/Ins ...
- Apache+Tomcat+Memcached实现会话保持
会话保持的三种方式 Session sticky会话绑定:通过在前端调度器的配置中实现统一session发送至同一后发端服务器 Session cluster会话集群:通过配置Tomcat保持所有To ...
- 爬虫万金油,一鹅在手,抓遍全球:goose 简介!
GOOSE 现已弃用 经过多年的服务,GOOSE接口和支持它的MySQL数据现已弃用 . 在我们进行替换的同时,我们建议寻找一般查询功能的用户在http://rdf.geneontology.org上 ...
- FileChannel
1, FileChannel 虚拟类,不可以直接实例化,可以通过FileInputStream FileOutputStream 获取 例:文件的复制 public class ChannelDem ...
- mybatis源码解析7---MappedStatement初始化过程
上一篇我们了解到了MappedStatement类就是mapper.xml中的一个sql语句,而Configuration初始化的时候会加载所有的mapper接口类,而本篇再分析下是如何将mapper ...