众所周知python是一款面向对象语言,在python语言中,可以说python的一切皆对象是不会错的。如果你学过java的话,你也会知道java也是一款面向对象语言,但是对比起来,python才是真正的面向对象语言。

1.何为面向对象

对象可以说是一个具体的事物,但是面向对象并不是与对象面对面,而是用事物的方法来进行操纵。我举个例子吧,我去饭店吃饭,然后叫服务员点菜,这里呢就可以说是我调用了服务员的点菜的方法,这里的服务员就可以说是一个对象,而我是调用者。点完菜之后,服务员就会去店里叫厨师炒菜,这里呢厨师也是个对象,炒菜是厨师的一个方法。

2.python中的对象

python中一切皆对象,这个不假,因为python的类和函数都被当作是对象,这些都属于python的一等公民。符合一等公民需要满足以下四个条件:

能够直接赋值给一个变量

可以添加到集合对象中

能作为函数参数进行传递

可以作为函数返回值

看到这里,就知道python中是的确是一切皆对象,因为都符合属于一等公民。

python中的对象都会有三个特征

身份,即是存储地址,可以通过id()这个方法来查询

类型,即对象所属的类型,可以用type()方法来查询

值,都会有各自的数据

查询对象的身份

n1 = 1

n2 = 2

print(id(n1))

print(id(n2))

# 下面是结果

1956798624

1956798656

查询对象的类型

print(type(n1))

print(type(n2))

# 下面是结果

可以看到两个类型是都一样的。当然这里我们可以用isinstance()这个方法来查看对象是否属于某类型,这里不展开说这个。

3.type,object和class的关系

object是所有类都继承的,是python的一个基类,但是type也是一个类型来的,而且object是的类型就是type,还有type也是自己的一个实例,说到这里,你可能不相信,不过我们下面会有验证。type,一个连自己都不肯放过的类,都要自己实现自己的对象的类,其他的类就可想而知了,所以这里更加充分说明python中一切皆对象。

验证下

print(type(object))

print(type(type))

# 下面是结果

看到了吧,type是自己的一个实例,后面会更加深入说下对象。

还有python中class,即是类是通过type来生成的,而对象是通过类来生成的,就有下面这层关系:type --> class --> object。下面用代码来看看

class A():

pass

a = A()

print(type(a))

print(type(A))

# 下面是结果

在这里就可以知道type有两种功能,一个是返回一个对象的类型,另一个是生成一个类。

ps:如果文章对你有用的话,不妨动动小手点赞转发下?

推荐阅读:

日常学python

代码不止bug,还有美和乐趣

python中一切都是对象_python中一切皆对象相关推荐

  1. Python基础_第3章_Python中的循环结构

    Python基础_第3章_Python中的循环结构 文章目录 Python基础_第3章_Python中的循环结构 Python中的循环结构 一.回顾分支练习题 1.判断是否为一个合法三角形 2.求世界 ...

  2. Python基础_第5章_Python中的数据序列

    Python基础_第5章_Python中的数据序列 文章目录 Python基础_第5章_Python中的数据序列 Python中的数据序列 一.字典--Python中的==查询==神器 1.为什么需要 ...

  3. python中不可变对象_Python中的可变对象与不可变对象、浅拷贝与深拷贝

    Python中的对象分为可变与不可变,有必要了解一下,这会影响到python对象的赋值与拷贝.而拷贝也有深浅之别. 不可变对象 简单说就是某个对象存放在内存中,这块内存中的值是不能改变的,变量指向这块 ...

  4. python中的对象_Python中的变量、对象

    由于没时间系统学习下Python 只能见一个问题探究一个问题了 一.初级 - 对象 关于Python中的数据类型,今天重新认识了下.[参考] 首先,Python中,对象才有类型, 变量是没有类型的,它 ...

  5. python哪些是可变对象_python 中的可变对象与不可变对象

    近日辞职待工,没有实际的项目与大家分享.暂写写在实际运用python中遇到的关于可变对象和不可变对象的坑. 首先我们需要明确一个概念,在python中一且皆对象.我们一般定义一个变量a=0,其实质a是 ...

  6. python 可迭代对象是什么_python中可迭代对象指的是什么

    python中可迭代对象指的是什么 发布时间:2020-07-20 11:19:38 来源:亿速云 阅读:91 作者:清晨 小编给大家分享一下python中可迭代对象指的是什么,相信大部分人都还不怎么 ...

  7. python中迭代对象是什么_python中的迭代对象和迭代器

    一.什么是可迭代对象? 迭代是访问集合元素的一种方式.以直接作用于 for 循环的数据类型有以下几种:集合数据类型,如 list . tuple . dict . set . str 等: gener ...

  8. python callable对象_Python中callable的理解?

    >Python has a more general concept of callable object, that is every object that can be called, w ...

  9. python里object是什么类型_Python中的object这个叫做基类的类,它的属性和行为都有哪些?...

    声明:以下仅为个人学习Python过程中总结的比较自洽的理解,事实上Python面向对象模型可能没那么简单.经查阅,Python在以前的版本还有不继承自object的类,叫做经典类. 用dir(obj ...

最新文章

  1. I.MX6 Android frameworks services 文件架构
  2. 近期活动盘点:工业大数据讲座、大数据自杀风险感知讲座、数据法学研讨会、海外学者短期讲学(12.3-12.13)
  3. wcf系列5天速成——第一天 binding的使用(1)
  4. matlab求矩阵中值函数,matlab在一个函数里,如何调用另一个函数里面求得的雅可比矩阵并赋值?...
  5. 如何调试 web worker
  6. 芯片:设计、制造、封测
  7. winxp上传文件到服务器,通过SQLServer的xp_cmdshell在服务器之间传送文件
  8. 蓝桥杯第七届国赛JAVA真题----七星填数
  9. 金银岛(信息学奥赛一本通-T1225)
  10. node 获取表单数据 为空_寻offer之JS数据结构与算法 -- 栈
  11. CSS:实现闪烁效果动画
  12. Window10屏幕亮度无法调节尝试解决方法
  13. elementui表格需要根据值显示文字
  14. 各类型数据之间的混合运算
  15. flex:1 代表了什么意思
  16. 鸡啄米c语言入门,鸡啄米编程课堂-最适合程序员在线学习和参考的教程站
  17. 关于个人网贷查询系统网贷信用查询,公司开发图片整合技术
  18. 14道初级程序员进阶中高级的必经环节
  19. win7下LInux虚拟机搭建
  20. python数据可视化(一)

热门文章

  1. 反向传播与梯度下降概念
  2. [Spark] - HashPartitioner RangePartitioner 区别
  3. ES6_proxy_note
  4. 360 c语言 笔试,奇虎360校招的笔试真题
  5. 内外网映射 html缓存问题_浅谈内存映射
  6. poi读取excel导入mysql_poi读取xlsx表格内容并插入到mysql中,OutOfMemoryError
  7. java webservice 验证_SOAP header验证WebService接口的访问权限
  8. eva每一集片尾曲是谁唱的_求EVA新世纪福音战士的主题曲和片尾曲名字!!
  9. python上网行为分析_python实战练手项目---获取谷歌浏览器的历史记录,分析一个人的上网行为...
  10. html按键变色,按键变色.html