python对象、类
python对象、类
一、 python的类
类可以比作是某种类型集合的描述
把一类相同的事物叫做类,其拥有相同的属性(其实就是变量)描述,里面封装了相同的方法。比如,汽车是一个类,它包括价格、品牌等属性。
二、 python对象
python使用对象模型来存储数据。构造任何类型的值都是一个对象。
所有Python对象都拥有三个特性:身份、类型、值
身份:每个对象都有一个唯一的身份标识,任何对象的身份可以使用内建函数id()来得到
类型:对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则。可以使用 type()函数查看python对象的类型。type()返回的是对象而不是简单的字符串。
值:对象表示的数据。
用一段代码来形象的解释一下类和对象,hp、lenovo都是一种电脑,不同的电脑又有不同的品牌,不同的价格,
所以,笔记本电脑Laptop就表示“电脑”这一类事物,电脑有很多属性,比如品牌,价格等等。而hp,Lenovo都是电脑这个大类中的一种,它是具体的,有自己的单独的价格和品牌,所以hp、Lenovo是Laptop的一个对象那上面def printlaptop(self)中的self是什么呢,它就表示对象。
我们调用函数时传的Lenovo对象的参数lenovo.type、lenovo.price被类中printlaptopInfo函数以self的身份接收,所以我们在使用参数的时候自然就变成了self. type、self.price。上图中标记的给对象初始化就是给对象的属性进行赋值
有了类就有封装、继承、多态
多态:
多态即多种形态,在运行时确定其状态,在编译阶段无法确定其类型,这就是多态。Python中的多态和Java以及C++中的多态有点不同,Python中的变量是动态类型的,在定义时不用指明其类型,它会根据需要在运行时确定变量的类型。
Python本身是一种解释性语言,不进行预编译,因此它就只在运行时确定其状态,故也有人说Python是一种多态语言。在Python中很多地方都可以体现多态的特性,比如内置函数len(object),len函数不仅可以计算字符串的长度,还可以计算列表、元组等对象中的数据个数,这里在运行时通过参数类型确定其具体的计算过程,正是多态的一种体现。
ps:未完,待续........
python对象、类相关推荐
- 【Flask项目2】python对象分页数据序列化基类(5)
comment-utils-serializer.py文件 class BasePaginateSerializer(object):"""分页数据序列化基类" ...
- python查看类的属性和方法_Python 获取对象的属性和方法—dir 函数
工作中,我们使用一些之前没用到过的模块,使用时需要了解一下这个模块中的一些类的方法或属性,怎么做呢?目前我比较常用的两款IDE"Pycharm"和"VSCode" ...
- Python 的类其实是一个特殊的对象
Python 中的类是一个特殊的对象. Python 中一切皆对象: class AAA:定义的类属于类对象. obj1 = AAA(): 属于实例对象. 在程序运行时,类同样会被加载到内存,类是一个 ...
- Python深入类和对象
一. 鸭子类型和多态 1.什么是鸭子类型: 在程序设计中,鸭子类型(英语:Duck typing)是动态类型和某些静态语言的一种对象推断风格."鸭子类型"像多态一样工作,但是没有继 ...
- python 类定义 垃圾_什么是python对象摧毁?python中的对象摧毁(垃圾回收)机制是什么?...
在这篇文章之中我们来了解一下python对象摧毁(垃圾回收),对于刚刚接触到python这一编程语言的朋友来说,对于python对象摧毁(垃圾回收)的了解应该比较少,并且不清楚关于python垃圾回收 ...
- python 类和对象_面向对象的编程思想和Python的类,访问和属性,继承
面向对象的编程思想和Python的类,类的方法和属性,实例方法这一文从面向对象的角度,介绍类的定义,类的属性和自定义方法. 本文将从访问限制,属性,继承,方法重写这几个方面继续介绍面向对象的编程思想和 ...
- 求python一个类与对象的代码_Python基础系列(五)类和对象,让你更懂你的python代码...
首先,非常感谢各位打开本博文,本博文是Python入门基础系列文章之一,Python目前是非常火的编程工具,其实作为编程不在只是程序员的专利,每一个人在日常的工作中.学习中都会或多或少的要用到一些工具 ...
- Python基础(类与对象)
Python基础(类与对象) 一.编程的两大思想 面向过程和面向对象 面向过程 面向对象 区别 事物比较简单,可以用线性的思维去解决 事物比较复杂,使用简单的线性思维无法解决 共同点:面向对象和面向过 ...
- python 绘图类_关于创建自定义绘图对象-python中的类,有很好的教程吗? - python...
我想创建一个用于自定义绘图的对象类.我正在寻找有关如何创建自己的绘图对象的面向对象入门的好教程((可能仍在使用像matplotlib这样的库)? 例如. class myplot: def __ini ...
最新文章
- 自定义控件:SlidingMenu,侧边栏,侧滑菜单
- Dotfuscator使用教程
- 文献记录(part12)--Biclustering of human cancer microarray data using co-similarity based co-clustering
- C++奇特的递归模板式
- Centos6.5 Couchdb安装
- python朴素贝叶斯分类的手写数字识别_关于利用机器学习进行手写数字的的识别...
- Acrobat Pro DC 教程,如何使用密码保护 PDF 文件?
- Minitab控制图Xbar-R中认为数据异常的八项检验(8个异常趋势图)
- 横向色差测试(LCA)—imatest
- OSChina 周六乱弹 ——程序员想让对象一辈子跟你的秘籍
- 使用Python和MySQL实现网上购物管理系统
- Leetcode995 Minimum Number of K Consecutive Bit Flips解决方案
- 分数乘法怎么用计算机计算,分数乘法计算与简单运用
- 6种摆脱百度竞价恶意点击的技巧
- 有关计算机病毒种类书籍,计算机病毒的分类
- 网络安全工程师,念念不忘,必有回响
- 可爱的玩笑匹配者可以使用vue-test-utils测试Vue组件
- Tiled结合Unity实现瓦片地图——Unity实战篇
- 端口映射工具rinetd
- 女人不得不学的七个人生规律