Python中的所有东西都可以成为你的对象!哈哈哈…
2018-07-22 05:57:30来源:博客园 阅读 ()
众所周知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))
# 下面是结果
<class 'int'>
<class 'int'>
可以看到两个类型是都一样的。当然这里我们可以用isinstance()这个方法来查看对象是否属于某类型,这里不展开说这个。
3.type,object和class的关系
object是所有类都继承的,是python的一个基类,但是type也是一个类型来的,而且object是的类型就是type,还有type也是自己的一个实例,说到这里,你可能不相信,不过我们下面会有验证。type,一个连自己都不肯放过的类,都要自己实现自己的对象的类,其他的类就可想而知了,所以这里更加充分说明python中一切皆对象。
验证下
print(type(object))
print(type(type))
# 下面是结果
<class 'type'>
<class 'type'>
看到了吧,type是自己的一个实例,后面会更加深入说下对象。
还有python中class,即是类是通过type来生成的,而对象是通过类来生成的,就有下面这层关系:type --> class --> object。下面用代码来看看
class A():
pass
a = A()
print(type(a))
print(type(A))
# 下面是结果
<class '__main__.A'>
<class 'type'>
在这里就可以知道type有两种功能,一个是返回一个对象的类型,另一个是生成一个类。
ps:如果文章对你有用的话,不妨动动小手点赞转发下?
进群:125240963 即可获取数十套PDF哦!
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:pythonday14
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash