如何理解python中一切皆对象

如何理解python中一切皆对象,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

专注于为中小企业提供成都网站设计、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业集安免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

成都创新互联成立于2013年,我们提供高端网站建设成都网站制作公司成都网站设计、网站定制、成都全网营销推广小程序制作、微信公众号开发、网站推广服务,提供专业营销思路、内容策划、视觉设计、程序开发来完成项目落地,为成都服务器托管企业提供源源不断的流量和订单咨询。

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

1.何为面向对象

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

2.python中的对象

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

  1. 能够直接赋值给一个变量

  2. 可以添加到集合对象中

  3. 能作为函数参数进行传递

  4. 可以作为函数返回值

看到这里,就知道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有两种功能,一个是返回一个对象的类型,另一个是生成一个类。

关于如何理解python中一切皆对象问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


网站名称:如何理解python中一切皆对象
文章转载:http://pwwzsj.com/article/igcphh.html