当前位置:首页 > 物联网 > Freak嵌入式

摘要:

在Python中,类(Class)是创建对象(实例,Instance)的模板。类定义了对象的属性和行为,而实例是类的具体对象,具有独立的属性值。

文档和代码获取:

本文档主要介绍如何使用 Python 进行面向对象编程,需要读者对 Python 语法和单片机开发具有基本了解。相比其他讲解 Python 面向对象编程的博客或书籍而言,本文档更加详细、侧重于嵌入式上位机应用,以上位机和下位机的常见串口数据收发、数据处理、动态图绘制等为应用实例,同时使用 Sourcetrail代码软件对代码进行可视化阅读便于读者理解。

正文

类Class

在大多数编程语言中,类就是一组用来描述如何生成一个对象的代码段,由于 Python 是动态语言,类是动态生成的,它和传统意义上的类的意义不同。在 Python 中定义一个新类(Class)等于创建了一个新类型(Type)的对象(Object),解释器中一切对象均存储在 PyObject 结构中。

class Base(): pass b = Base()print(id(Base), type(Base), Base)print(id(b), type(b), b)

通过class关键字我们可以定义一个新的类型(New User-defined Type)。示例中,我们定义了一个自己的类型Base,b是它的实例(Instance),它的类型是Base。Class和Type均是指类型(Type),Class通常用于普通用户使用class自定义的类型。Type通常指Python的解释器内置的类型。

实例Instance

实例(Instance)和对象(Object)也是不同的语境产生的不同说法。“1是一个int类型的实例”和“1是int类型的对象”是等价的。如果把上句中的“类型”替换为“类”,就成了我们熟悉的面向对象编程中的说法:“1是一个int类的实例” 和“1是int类的对象”。当创建某个对象或强调某个对象的类型时,常常说这个对象是某某类的实例,当强调对象自身时,我们只说某某对象。

当一个对象是某个类的实例时,它也是这个类的基类的实例。内置方法 isinstance(obj, class) 用来判断一个对象是否是某个类的实例。

class Base(): pass b = Base()print(isinstance(b, Base))print(isinstance(b, object))


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭