笨方法学python习题45(对象、类以及从属关系)
来源:互联网 发布:硕鼠mac版好用吗 编辑:程序博客网 时间:2024/06/08 17:27
习题45
关于泥鳅和鱼:
class和object是同样的东西,在不同时间名字不同而已。
ex:鱼和泥鳅都是鱼,但泥鳅是比较特殊的鱼。
鱼是class,描述具有同类属性的实例的概括性词汇。泥鳅是新的class,具有一些特定的属性。
ex:小方是一条泥鳅,所以他是泥鳅的一个实例instance(泥鳅也是鱼的一个实例)。你使用它做了道菜于是它就成为了对象object。
小方是泥鳅,泥鳅又属于鱼。所以对象属于类,一个类又属于另一个类。
区分class和object
is-a谈论两者以类的关系相互关联。鱼和泥鳅的关系
has-a两者无共同点,仅是互为参照的情况下。泥鳅和鳃的关系
为什么添加object,有什么含义:
小写的object作为一个类,在创建新类时把他继承下来。
class xxx(object)#python 3 中已经默认加上object
在创建class时会继承object方法,拥有除了自己定义的方法之外的一系列操作对象。
若不加object意味着不继承,则新类只有_doc_,_module_和自己定义的方法。
把class当object使用,创建时不新建方法,然后正常调用??不知道有没有理解错误题目意思
*执行函数时一直提示说name "xxx" is not defined。为什么,难道是占位符过多了。单纯从语法看没问题啊。
还是我调用时出了错。。
“是啥”我感觉两方都是类,一个是基类,一个是新类
“有啥”对应的是类里的方法。
多重继承:一个类可以同时继承多个父类的行为和特征功能。可能造成同一功能多次重写,带来维护问题。
class A(object):
class B(A):
class C(A):
class D(B, C):
通过 super().__init__(self)方法时,A 虽然被继承了两次,但__init__()只调用一次:
python如何实现类的继承:对于每一个定义的类,会有一个方法解析顺序列表(MRO)method resolvation order
print(C.__mro__)得到一个元组。对元组的从左到右依次查找,直到查到待查的属性为止。
当使用super()函数时,python会继续从MRO中的下一个类开始搜索,只要每一个重新定义过的方法(比如init())都使用了super()函数,并且调用了他们一次,那么控制流最终就可以遍历整个MRO列表,并且让每个方法都只被调用一次
- 笨方法学python习题45(对象、类以及从属关系)
- 笨方法学Python习题 45: 对象、类、以及从属关系
- 笨方法学Python 习题 42: 对象、类、以及从属关系
- 笨方法学习Python-习题45: 对象、类、以及从属关系
- 习题42 对象、类及从属关系
- 笨方法学Python 习题 40: 模块、类、对象
- 笨方法学Python 习题 27: 记住逻辑关系
- 笨方法学python习题37 (复习各种符号)
- 笨方法学python 习题41(外星人游戏)
- 笨方法学python 习题35修改
- 笨方法学Python 习题 11: 提问
- 笨方法学Python 习题 41: 物以类聚
- 笨方法学Python 习题0
- 笨方法学python习题13、14
- 笨方法学python 习题16
- 笨方法学Python 习题 3: 数字和数学计算
- 笨方法学python 习题32(循环和列表)习题33(while循环)
- 笨方法学python 习题34(访问列表元素)习题35(作死小游戏)
- python 处理 txt 文档数据
- LK光流算法
- 三种从sql server数据库里拿数据的方法
- bzoj1088: [SCOI2005]扫雷Mine
- ESXI开启snmp
- 笨方法学python习题45(对象、类以及从属关系)
- [bzoj1433][二分图匹配]假期的宿舍
- 欢迎使用CSDN-markdown编辑器
- BZOJ1370: [Baltic2003]Gang团伙
- iOS开发-iPhoneX的适配-iPhoneX屏幕适配分享
- Generating Sequences With Recurrent Neural Networks(1)
- Remove Linked List Elements
- local session for zookeeper
- Effective Java(用函数对象表示策略、优先使用静态成员类)