Python中一切皆对象

Python从设计之初就是一门面向对象的语言,它有一个重要的概念,即一切皆对象。

Python与java的区别:

Java虽然也是面向对象编程的语言,但是血统没有Python纯正。比如Java的八种基本数据类型之一int,在持久化的时候,就需要包装成Integer类对象。但是在python中,一切皆对象。数字、字符串、元组、列表、字典、函数、方法、类、模块等等都是对象,包括你的代码。


对象的概念

究竟何谓对象?不同的编程语言以不同的方式定义“对象”。某些语言中,它意味着所有对象必须有属性和方法;另一些语言中,它意味着所有的对象都可以子类化。

在Python中,定义是松散的,某些对象既没有属性也没有方法,而且不是所有的对象都可以子类化。但是Python的万物皆对象从感性上可以解释为:Python 中的一切都可以赋值给变量或者作为参数传递给函数。

Python 的所有对象都有三个特性:

  • 身份:每个对象都有一个唯一的身份标识自己,任何对象的身份都可以使用内建函数 id() 来得到,可以简单的认为这个值是该对象的内存地址。
>>> a = 1
>>> id(a)
>>> 26188904                        # 身份由这样一串类似的数字表示
  • 类型:对象的类型决定了对象可以保存什么类型的值,有哪些属性和方法,可以进行哪些操作,遵循怎样的规则。可以使用内建函数 type() 来查看对象的类型。
>>> type(a)
<type 'int'>
>>> type(type)
<type 'type'>                         #万物皆对象,type 也是一种特殊的对象 type
  • 值:对象所表示的数据
>>> a
1

"身份"、"类型"和"值"在所有对象创建时被赋值。如果对象支持更新操作,则它的值是可变的,否则为只读(数字、字符串、元组等均不可变)。只要对象还存在,这三个特性就一直存在。

对象的属性:大部分 Python 对象有属性、值或方法,使用句点(.)标记法来访问属性。最常见的属性是函数和方法,一些 Python 对象也有数据属性,如:类、模块、文件等

为什么Python中万物皆对象相关推荐

  1. python一切皆对象的理解_在 Python 中万物皆对象

    在 Python 中一切都是对象,并且几乎一切都有属性和方法.所有的函数都有一个内置的 __doc__ 属性,它会返回在函数源代码中定义的 doc string:sys 模块是一个对象,它有一个叫作 ...

  2. python语言中一切皆对象_2 python 中一切皆对象

    python 中一皆对象 在 python 编程语言中所有的一切都是对象 , python 语言相对于 C++ 或 java 这样的语言 (静态语言), 面向对象这个思想更加的彻底. 2.1 函数和类 ...

  3. python函数赋值给对象_【Python核心编程笔记】一、Python中一切皆对象

    Python中一切皆对象本章节首先对比静态语言以及动态语言,然后介绍 python 中最底层也是面向对象最重要的几个概念-object.type和class之间的关系,以此来引出在python如何做到 ...

  4. python中一切皆对象

    python中一切皆对象 python中的一切皆对象更加彻底 在python中的一切皆对象比Java中的一切皆对象更加彻底,Java中有class,也就是类的概念,object是class的一个实例. ...

  5. 你还认为JS中万物皆对象?

    经常在国内的各大网站博客上看到一句话,叫做JS中万物皆对象,那是否真是如此? 那么,我们先来捋一捋JS中的数据类型,JS中的数据类型有下面几种 Undefined Null Boolean Numbe ...

  6. python一切皆对象的理解_Python中万物皆对象?的理解

    在很多地方都看到有过这样一句话,但是对象这个词的理解依然停留在谈朋友那个对象上-- python中一切皆为对象,一个对象的特征也称为属性(attribute).它所具有的行为也称为方法(method) ...

  7. gj2 python中一切皆对象

    2.1 python中一切皆是对象 动态语言和静态语言的区别,Python的面向对象更彻底 同时动态语言,代码的灵活性高 没有编译(检查)的过程,错误只有在运行起来后才会发现 函数和类也是对象,属于p ...

  8. python中一切都是对象对吗_在 Python 中一切皆对象,它完全支持()

    皆对1.词具有的特征是 全支What is the advantage of good listening 皆对The six stages for listening are Receive, Co ...

  9. Python源码解读之一 万物皆对象(上)

    万物皆对象 初探对象 Python中一切皆对象,在Python的世界里面,所有东西都是对象.整型.字符串.字典.int.str.list.class自定义类都是对象. 像int.str.list等基本 ...

  10. python中一切都是对象_python中一切皆对象

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

最新文章

  1. Codeforces Round #344 (Div. 2)C. Report
  2. node.js Web应用框架Express入门指南
  3. 【模式匹配】KMP算法的来龙去脉
  4. CodeForces - 1543D1 RPD and Rap Sheet (Easy Version)(异或+交互)
  5. 2019-06-12 Java学习日记之JDBC
  6. cad大理石填充图案_CAD制图初学入门者必须知道的CAD填充问题
  7. java中super关键字的用法
  8. ubuntu boot中grub误操作 导致系统开进grub
  9. 时间特效。js读取时间
  10. 酒泉-嘉峪关-敦煌-西宁青海湖-兰州六日游之一
  11. 在SourceForge中建立开源项目
  12. Java中异或的操作
  13. 如何修改计算机的ip地址在哪里设置路由器,win7系统电脑无线路由器IP地址如何修改?电脑修改路由器IP地址的方法...
  14. Pycharm远程调试服务器代码出错:[Errno 2] No such file or directory
  15. ICPR 2018|阿里巴巴读光OCR及MTWI数据集亮相引关注
  16. kermit安装和配置
  17. linux运维笔记:动态网页资源
  18. Springboot 配置QQ企业邮箱在阿里云服务器的坑
  19. 基于STM32设计智能家居控制系统(OneNet)_2022
  20. linux kernel内存管理之/proc/meminfo下参数介绍

热门文章

  1. 稻盛和夫:我管理的秘诀就是12条准则
  2. 如何提高团队的研发效率呢?
  3. 第六章 传统金融行业的区块链战略
  4. 高校大数据产品有哪些
  5. 运放输入偏置电流方向_运算放大器输入偏置电流的两种测试方法研究
  6. 企业微信SCRM怎么弄永久群二维码?可以实现社群私域流量裂变吗?
  7. 3D打印:我的打印机使用经验技巧记录
  8. 为何觉得静态ip比动态ip的网速更快
  9. 最新免费下载无水印视频,抖音短视频去水印免费保存下载教程
  10. 双系统如何干净删除Ubuntu