Python-一切皆对象
Python 动态、灵活根本是什么?
Python中一切皆对象,面向对象更加彻底,函数、类也是对象,属于一等公民
一等公民特性
1. 可以赋值给一个变量
def name(name="北门吹雪"):
print(name) new_name = name
new_name()
2. 可以添加到集合对象中
def name(name="北门吹雪"):
print(name) def blog(blog="http://www.cnblogs.com/2bjiujiu/"):
print(blog) funcs = list()
funcs.append(name)
funcs.append(blog) for func in funcs:
func()
3. 可以作为参数传递给函数
def ask_name(name):
name() def name(name="beimenchuixue"):
print(name) ask_name(name)
4. 可以当作函数返回值,装饰器实现原理
def ask_name(name):
return name def name(name="beimenchuixue"):
print(name) hai = ask_name(name)
hai()
type object class 之间的关系

从继承角度来说,class(list str dict tuple ...)继承 object, type也继承 object
# 继承关系
# str 类型继承 object类
print(str.__bases__)
# type 类型进程 object类
print(type.__bases__)
# object类继承 ()
print(object.__bases__)
从实例角度来说,"abc" 是 str类型的实例, str又是type类型的实例, object是 type的实例, type是type自身的实例
name = "beimenchuixue" # object class type 实例关系
# name 是 str 实例
print(type(name))
# str 是 type实例
print(type(str))
# object是type实例
print(type(object))
# type是自己的实例
print(type(type))
type > class > object
object是由class类型构建, class由type类型构建
object类是顶层基类,所有类的基类,type也要继承这个类
type是一个类,同时也是对象,继承 object类,把自己变成自己的对象,从而实现Python中一切皆对象
获取变量由什么类型构建的 type()
获取类型的基类 __bases__
object基类是 ()
class的基类是 object
type的基类是 object
Python 常见的内置类型
a. 对象
1. 身份 id()
2. 类型 type()
3. 值 对应类型封装这个值
b. 数值 int float complex bool
c. None(全局唯一只有一个) NoneType类型
d. 迭代
e. 序列 list tuple str range
f. 映射 dict
g. 集合 set frozeset
h. 上下文管理 with
i. 其他类型
1. 模块
2. class和实例
3. 函数
4. 方法
5. 代码
6. object对象
7. type
Python-一切皆对象的更多相关文章
- python 进阶读书笔记1 -- 理解python一切皆对象
理解python一切皆对象: 1.所有的类都是由type创建的 2.所有的类的基类都是object 3.type是类,也是实例,type的基类是object,type对象是由type创建的 4.obj ...
- Python小世界:彻底搞懂Python一切皆对象!!!
前言 犹记得当初学习Python的时候,对于Python一切皆对象很是懵逼,因为Python是面向对象的动态型语言,而在函数及高阶函数的应用中,如若对于一切皆对象不是有很透彻的了解,基础不是那么牢固的 ...
- Python高级编程-Python一切皆对象
Python高级编程-Python一切皆对象 Python3高级核心技术97讲 笔记 1. Python一切皆对象 1.1 函数和类也是对象,属于Python的一等公民 ""&qu ...
- Python一切皆对象
Python从设计之初就是一门面向对象的语言,它有一个重要的概念,即一切皆对象. Java虽然也是面向对象编程的语言,但是血统没有Python纯正.比如Java的八种基本数据类型之一int,在持久化的 ...
- python一切皆对象的理解
min_error=pls(x_train, x_test, y_train, y_test) #这里我之前写的是error,但是前面有一个定义的error函数.所以导致出现了警告. 可能是因为pyt ...
- 对Python"一切皆对象"的小参悟
写在前面 若有误区请大神不吝指正,以免带偏了如我者的弱鸡们 据闻对此不再懵逼后,于函数以及高阶函数编程的进阶有益 类:又称对象,由类创建的个体被称为实例 名言名句"一切皆对象(一切皆类,一切 ...
- 关于 python 一切皆对象的实际理解
1 关于type type 函数可以查看一个对象的类 type 类是一切类型的模版 In [2]: type(1) Out[2]: int In [3]: type(int) Out[3]: type ...
- python 引用和对象理解
今天浏览博客的时候看到这么一句话: python中变量名和对象是分离的:最开始的时候是看到这句话的时候没有反应过来.决定具体搞清楚一下python中变量与对象之间的细节.(其实我感觉应该说 引用和对象 ...
- Python深入03 对象的属性
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python一切皆对象(object),每个对象都可能有多个属性(attribut ...
- 举例子来说明Python引用和对象
今天看到这么一句奇怪的话: python中变量名和对象是分离的:最开始的时候是看到这句话的时候没有反应过来.决定具体搞清楚一下python中变量与对象之间的细节.(其实我感觉应该说 引用和对象分离 更 ...
随机推荐
- Linux磁盘分区、挂载、查看文件大小
快速查看系统文件大小命令 du -ah --max-depth=1 后面可以添加文件目录 ,如果不添加默认当前目录. 下面进入正题~~ 磁盘分区.挂载 引言: ①.分区的方式 a)mbr分区: 最多支 ...
- ssm框架之springMVC拦截器
1拦截器概述 1.1什么是拦截器? springMVC中的拦截器(Interceptor)类似于servlet中的过滤器(Filter),它主要用于拦截用户请求并作相应的处理.例如通过拦截器可以进行权 ...
- springboot-swagger配置
原文地址 https://www.cnblogs.com/softidea/p/6251249.html https://www.cnblogs.com/xiebq/p/9181517.html 1p ...
- WPF新手快速入门系列 1.布局
[概要] 该系列文章主要描述,新手如何快速上手做wpf开发.看过网上部分的教程,主要讲述的是介绍控件.这并没有问题,但是没有把自己的使用经验也完整的描述出来. 所以特此编写此系列文章希望能帮助到,因为 ...
- 基于Appium的UI自动化测试
为什么需要UI自动化测试 移动端APP是一个复杂的系统,不同功能之间耦合性很强,很难仅通过单元测试保障整体功能.UI测试是移动应用开发中重要的一环,但是执行速度较慢,有很多重复工作量,为了减少这些工作 ...
- jQuery提供的Ajax方法
jQuery提供了4个ajax方法:$.get() $.post() $.ajax() $.getJSON() 1.$.get() $.get(var1,var2,var3,var4): 参数1 ...
- Agumaster漂亮起来了
- 使用 usbmon 抓取 usb 总线上的数据
使用 usbmon 抓取 usb 总线上的数据 usbmon 即 usb monitor,是 linux 内置的 usb 抓包工具.usbmon 本质是一个内核模块,在我的 ubuntu14.0 4中 ...
- C#开发PACS医学影像处理系统(十五):Dicom影像交叉定位线算法
1.定位线概念:某个方位的影像在另一个方向的影像上的投影相交线,例如横断面(从头到脚的方向)在矢状面(从左手到右手)上的影像投影面交线. 举个例子:右边的是MR(核磁共振)的某一帧切片,这是从头开始扫 ...
- C#开发PACS医学影像处理系统(十六):2D处理之影像平移和缩放
1.平移,利用WPF中控件边距来控制位移: /// <summary> /// 平移图像 /// </summary> /// <param name="X&q ...