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的重要概念.在面向对象中类和对象是最基本的两个概 ...
随机推荐
- 使用Nginx搭建Tomcat9集群,Redis实现Session共享
使用Nginx搭建Tomcat9集群,Redis实现Session共享 1.tomcat准备 首先准备两个tomcat9 ,修改配置文件server.xml 如果在多个服务器上分别启动tomcat 则 ...
- 设置gvim的字体大小
1.临时设置: 进入命令行模式输入: set guifont=Courier\ New:h10 2.永久设置: 打开安装目录找到defaults.vim在最后一行输入: set guifont=Cou ...
- 在Ubuntu下搭建Android开发环境(AndroidStudio)
在ubuntu下搭建Android开发环境 本教程的开发环境的搭建有三个大步骤:安装Java jdk,安装Android studio,安装sdk 笔者搭建环境的时候用的是Ubuntu18.04 1. ...
- jQuery原理系列-css选择器实现
jQuery最强大的功能在于它可以通过css选择器查找元素,它的源码中有一半是sizzle css选择器引擎的代码,在html5规范出来之后,增加了document.querySelector和doc ...
- WCF基础调用
WCF学习demo代码下载 调用:启动wcf服务程序,然后建立一个控制台应用程序 建立wcf程序 添加 using System; using System.Collections.Generic; ...
- POJ 1177/HDU 1828 picture 线段树+离散化+扫描线 轮廓周长计算
求n个图矩形放下来,有的重合有些重合一部分有些没重合,求最后总的不规则图型的轮廓长度. 我的做法是对x进行一遍扫描线,再对y做一遍同样的扫描线,相加即可.因为最后的轮廓必定是由不重合的线段长度组成的, ...
- C#文本操作
1.使用FileStream读写文件 文件头: 复制代码代码如下: using System;using System.Collections.Generic;using System.Text;us ...
- spring boot配置druid连接池连接mysql
Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...
- Scrapy的学习和使用
1.安装 在windows下安装是真心复杂,不搞了,直接在linux下研究吧! sudo pip install scrapy 2.安装遇到问题 2.1.bz2 module not availabl ...
- js 月份选择器(只选择到月)
需要如下js https://pan.baidu.com/s/1c1T9wY0 在html中添加如下代码 <input onclick="setmonth(this)" /& ...