Python虽然是解释型语言,但从设计之初就已经是一门面向对象的语言,对于Python来说一切皆为对象。正因为如此,在Python中创建一个类和对象是很容易的,当然如果习惯面向过程或者函数的写法也是可以的,Python并不做硬性的限制。

Python的面向对象特征如下:

封装

面向对象程序设计中的术语对象(Object)基本上可以看做数据(特性)以及由一系列可以存取、操作这些数据的方法所组成的集合。传统意义上的“程序=数据结构+算法”被封装”掩盖“并简化为“程序=对象+消息”。对象是类的实例,类的抽象则需要经过封装。封装可以让调用者不用关心对象是如何构建的而直接进行使用。

继承

类继承:

继承给人的直接感觉是这是一种复用代码的行为。继承可以理解为它是以普通的类为基础建立专门的类对象,子类和它继承的父类是IS-A的关系。

多重继承:

不同于C#,Python是支持多重类继承的(C#可继承自多个Interface,但最多继承自一个类)。多重继承机制有时很好用,但是它容易让事情变得复杂。

多态

多态意味着可以对不同的对象使用同样的操作,但它们可能会以多种形态呈现出结果。在Python中,任何不知道对象到底是什么类型,但又需要对象做点什么的时候,都会用到多态。方法是多态的,运算符也是多态的。

以上就是python为什么是面向对象的的详细内容,更多请关注php中文网其它相关文章!

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

为什么python是解释型面向对象的语言_python为什么是面向对象的相关推荐

  1. python中动态语言静态语言的定义_作为程序开发,你所需要知道的编译型与解释型、动态语言与静态语言、强类型语言与弱类型语言的概念以及区别...

    作为程序开发,你所需要知道的编译型与解释型.动态语言与静态语言.强类型语言与弱类型语言的概念以及区别! 在各式各样的开发过程当中,我相信各位开发小伙伴在开发过程中并没有太关注什么是解释性语言和编译性语 ...

  2. python是一门面向过程的语言_python是面向对象还是面向过程?

    python是面向对象的,第一个公开发行版发行于1991年,Python语法简洁而清晰,具有丰富和强大的类库. Python是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum ...

  3. 编译型与解释型、动态语言与静态语言、强类型语言与弱类型语言概念辨析

    编译型与解释型.动态语言与静态语言.强类型语言与弱类型语言概念辨析 转自:https://blog.csdn.net/u010533843/article/details/76215487 编译型和解 ...

  4. Python?Python!(python是解释型还是编译型)

    文章目录 解释型语言?编译型语言? 1. 为什么要有解释型语言? 2. `.pyc`文件 3 对于python是解释型还是编译型的判断 3.1 字节码和机器语言的区别 3.2 解释器和虚拟机 4. 为 ...

  5. 彻底明白编译型和解释型、动态语言和静态语言区别

    编译型和解释型的区别 先来看看编译型语言定义: 编译型语言首先是将源代码编译生成机器指令,再由机器运行机器码 (二进制). 再来看看解释型语言的定义: 解释型语言的源代码不是直接翻译成机器指令,而是先 ...

  6. python属于哪种类型的语言_Python是什么类型的编程语言,有什么特性

    由于近几年人工智能的不断发展,Python也跟着火了,因为Python是深度学习技术的主流应用编程语言.同时它的应用场景很多,被称为"胶水语言".下面给大家科普一下Python这门 ...

  7. python计算机程序设计语言的是-Python是一种面向对象的解释型计算机程序设计语言...

    [判断题]非对称密码算法与对称密码算法,加密和解密使用的都是两个不同的密钥. [单选题]对被判处无期徒刑的罪犯,可以暂予监外执行的情形是 [多选题]下列关于质性研究和量化研究说法正确的是 [单选题]制 ...

  8. 编译型和解释型、动态语言和静态语言、强类型定义语言和弱类型定义语言

    一.编译型与解释型语言 我们编写程序也就是源代码基本是用高级编程语言,比如JavaScript, java, c等等,这些语言计算机是不理解的,所以需要转化(翻译)成计算机理解的机器语言,或者说目标C ...

  9. python创建person类用printinfo方法_python学习(三)面向对象

    python面向对象 继承 class Person(object): ''' classdocs ''' def __init__(self,name): ''' Constructor ''' s ...

最新文章

  1. 配置bind主域名服务器
  2. 基于SSH实现健康管理系统
  3. Adam又要“退休”了?耶鲁大学团队提出AdaBelief,NeurIPS 2020收录,却引来网友质疑...
  4. 约瑟夫环(约瑟夫问题)求最后出列的人数
  5. 用ACE的Reactor模式实现网络通讯的例子
  6. poj3279 反转 挑战程序设计竞赛
  7. 单个雪碧图多个图像资源你该如何解决它们的定位?
  8. github atom_虚幻竞技场开放,GitHub发布了开源的Atom编辑器,等等
  9. 人工智能/数据科学比赛汇总 2019.5
  10. 别怕,“卷积“其实很简单
  11. android开发,assets下面的资源文件不会变化/改动
  12. 选择 ASP.NET Core Web UI--主线
  13. 英语 名词复数的变化及其发音
  14. 图像去雾开源数据集资源汇总
  15. 写公众号的一些【奇葩经历】以及【思考】
  16. python匿名函数调用_(Python) 函数、匿名函数
  17. eclipes代码提示及防空格自动补全
  18. 最全的有道云笔记实用功能大盘点!PS:遇到优质的文章想收藏下来怎么办?在这里您就可以找到答案!
  19. python pip、conda、windows CMD常用命令大全!
  20. Git连接oschina管理代码版本

热门文章

  1. 如何参与一个GitHub开源项目
  2. What day is that day?(快速幂,打表找周期,或者求通项公式)
  3. Java中,String类型和包装类型作为参数传递时,是属于值传递还是引用传递呢?...
  4. jQuery源码分析系列:事件模块概述
  5. POJ 计算几何(3)
  6. 斯坦佛编程教程-Unix编程工具(五)
  7. SQL Server中常用全局变量介绍
  8. 几个ubuntu16.04镜像下载地址
  9. MySQL innodb每行数据长度的限制
  10. Java中遍历删除ArrayList中多个元素