python对象类
Posted zg_hobby
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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对象类的主要内容,如果未能解决你的问题,请参考以下文章