Python说文解字_杂谈02
1. Py中三个中啊哟的概念type、object和class的关系。
type生成了int生成了1
type->class->obj
type用来生成类对象的
object是最顶层的基类
type也是一个类,同时type也是一个对象
结论:类是由type这个类生成的对象。obejct是所有类都继承的基类。继承都是object,实例是由type生成。
把握几个知识点就能深刻理解这个观点。
知识点1:type()并可以显示类型,所谓类型可以反映是由谁实例化生成的。实例化是动作,生成的结果就是对象。这是第一条线。
比如:
>>> a =
>>> type()
<class 'int'>
>>> type(int)
<class 'type'>
int实例化了a,a是结果是一个对象,type实例化了int,int是结果是一个对象。
知识点2:不但实例化的过程,type最终形成环路,type实例化了自己,type的结果是一个对象,就是type自己。
知识点3:__bases__可以显示继承关系,就是所谓一层一层的继承关系。不管继承了多少层,最终都会继承object这个基类,包括type这个生成器的继承。这是第二条线。
知识点4:type和ojbect,是一个特殊关系,互为指向的关系。
总结:重点要理解继承和实例化,是两个不同概念,是两种概念两条线,其中又互为依赖。实例化是母体和子体的是生成关系。继承是属性和方法的遗传关系。
生成关系 vs 遗传关系。是一切接对象的核心。
举个例子:儿子是由母亲生的,这是一个关系。继承母亲的特性和行为这是一个关系。记住这个就理解了。
a =
b = "abc"
print(type())
print(type(int))
print(type(b))
print(type(str)) class Student:
pass class MyStudent(Student):
pass stu = Student()
print(type(stu))
print(type(Student))
print(int.__bases__)
print(str.__bases__)
print(Student.__bases__)
print(MyStudent.__bases__)
print(type.__bases__)
print(object.__bases__)
print(type(object))
2. Py中场景的内置类型(内置类型不是数据类型,是更广义的概念)。
对象的三个特性:
身份、用id查看,就是指的内存地址。
类型、用type查看
值、
类型有哪些:
None(全局只有一个)
数值:
int
float
complex
bool
迭代类型:
序列类型:
list
byte、bytearray、memoryview(二进制序列)
range
tuple
str
array
映射(dict):
集合:
set
frozenset(冻集合)
上下文管理类型:
with语句
其他:
模块类型
class和实例
函数类型
方法类型
代码类型
ojbect对象
type类型
elipsis类型:省略号类型
notimplemented类型。
Python说文解字_杂谈02的更多相关文章
- Python说文解字_杂谈05
1. isinstance和type: is和==符号,is指的是内存地址,是不是一个对象,ID知否相同 集成链 class A: pass class B(A): pass b = B() prin ...
- Python说文解字_杂谈09
1. 元类编程代码分析: import numbers class Field: pass class IntField(Field): # 数据描述符: # 初始化 def __init__(sel ...
- Python说文解字_杂谈08
1. Python变量到底是什么? Python和Java中的变量本质不一样,python的变量实质是一个指针 int str,便利贴 a = 1 # 1. a贴在1上面 # 2. 它的过程是先生成对 ...
- Python说文解字_杂谈07
1. 深入dict from collections.abc import Mapping,MutableMapping # dict 属于mapping类型 a = {} print(isinsta ...
- Python说文解字_杂谈01
1. Python在Ubuntu下面下载Python 2. 安装依赖包 sudo apt-get update sudo apt-get install build-essential python- ...
- Python说文解字_杂谈06
1. 序列类型的分类: 容器类型:list.tuple,deque 扁平序列:str.bytes.bytearray.array.array 可变序列:list.dequte.bytearray.ar ...
- Python说文解字_杂谈04
1. 鸭子类型: 当你看到一只鸟走来像鸭子,游泳起来像鸭子,叫起来也像鸭子,他么他就可以叫做鸭子.任何可迭代的对象.一样的方法,可以用可迭代的话,就可以迭代的组合打印.__getitem__可以塞到任 ...
- Python说文解字_杂谈03
1. 我们从前面的知识得到,所有的类都要继承自object这个基类(超类),另外我们知道“继承”可以继承类的属性和方法.我们起始通过type创建类的时候,自然而然的也会从ojbect继承他的一些属性和 ...
- Python说文解字_详解元类
1.深入理解一切接对象: 1.1 什么是类和对象? 首先明白元类之前要明白什么叫做类.类是面向对象object oriented programming的重要概念.在面向对象中类和对象是最基本的两个概 ...
随机推荐
- 怎样解题 --解题表(how to solve it)
<怎样解题> 美.波利亚 下面是来自书中的解题表: 理解题目 第一 理解题目 你必须理解题目 未知量是什么?已知数据是什么?条件是什么? 条件有可能满足吗?条件是否可以确定未适量?或者它不 ...
- (转载)wchar_t类型和char类型变量相互转换
转载连接:https://www.cnblogs.com/zhangdewang/p/11420410.html和https://www.cnblogs.com/lanhaicode/p/105742 ...
- mvvm双向绑定机制的原理和代码实现
mvvm框架的双向绑定,即当对象改变时,自动改变相关的dom元素的值,反之,当dom元素改变时,能自动更新对象的值,当然dom元素一般是指可输出的input元素. 1. 首先实现单向绑定,在指定对象的 ...
- mark LINUX_6.8 python_2.6.6 setup版本升级 python 2.7.9 安装 pip 临时使用国内镜像源库 指定模块版本 删除指定模块
简单但却又经常需要使用 网上 贴子也很多 也经常用 所以 做个mark 吧: 1首先下载python2.7.9 源tar包 源码安装 可利用linux自带下载工具wget下载,如下所示: ...
- caffe 官方demo python api
Jupyter https://nbviewer.jupyter.org/github/BVLC/caffe/blob/master/examples/net_surgery.ipynb 涉及: - ...
- weex框架
weex优势: (1)支持ES6规范 (2)性能优异,开发简介标准,提及小巧. (3)跨平台 weex调试工具:weexplayground weex环境搭建: (1)安装 node.js.npm ( ...
- MVC MVP MVVM 简述
MVC 通过代理或者通知传递数据. MVP 通过P绑定model和view解耦. MVVM 通过V绑定VM(监听VM属性的变化.方法传递(改变自身被监听属性)) VM绑定model设置自身属性.
- comm
comm [- 123 ] file1 file2 说明:该命令是对两个已经排好序的文件进行比较.其中file1和file2是已排序的文件.comm读取这两个文件,然后生成三列输出:仅在file1中出 ...
- id3算法python实现
import numpy as npimport operator def createDataSet(): dataSet = [ [1,1,'yes'], [1,1,'yes'], [1,0,'n ...
- 第四章:Schema与数据类型优化
1. 选择优化的数据类型 选择数据类型的原则 更小的通常更好:选择可以正确存储数据的最小数据类型 小的数据类型消耗更少的内存.CPU;占用更少的磁盘 选用简单的数据类型:简单的数据类型通常需要更少的C ...