python面向对象编程常用名词有哪些

发布时间:2021-11-25 09:54:43 作者:iii
来源:亿速云 阅读:113

本篇内容主要讲解“python面向对象编程常用名词有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python面向对象编程常用名词有哪些”吧!

面向对象编程的定义

面向对象编程的核心是对象,即某一可有属性、动作的复杂事物。面向对象编程优先考虑对象和需要达到的结果,不重点关注流程。

面向对象编程的优点是程序的可维护高和扩展性强,采用面向对象编程可以大幅提高团队开发效率,在需求变化快的场景面向对象编程应对需求变化更容易和方便。

面向对象编程的缺点是可控性差,无法精准预测问题的处理流程和结果。

面向对象编程常用名词

类:具有某些类似特征的一类事物(如动物、植物等),类是模板,是抽象概念。

对象(实例):具体的某一事物(如那只流浪猫、这只宠物狗),对象是具体的事物,是抽象概念的具现。

实例化:根据类创建具体对象的过程。

类的定义

class 类名(父类):'''说明文档'''类体

其中(父类)可缺省,缺省父类是object,可以把object理解为类的祖先。

class语句下一行三引号开头和三引号结束中的内容为类的说明文档。

说明文档下一行即为类的正式内容,即类体。

类体中主要内容有2种,一是属性、二是函数。

例如:

class Animal:kind = 'all animals'def eat(self):print('The animal is eating!')print(Animal.kind)Animal.eat(Animal)out:all animals
The animal is eating!

以上案例中kind是属性,eat是函数。

注意eat比较特殊,如果用类名.eat调用时它是函数,用对象.eat调用时它是方法。

实例化

类名加括号就是实例化,会自动触发__init__函数的运行,它会根据参数为每个实例定制自己的特征。

white_cat = Animal()print(white_cat.kind)white_cat.eat()out:all animals
The animal is eating!

注意:实例化时会找该类的__init__函数,若该类无此函数,那么会找它父类的__init__函数,父类若没有会继续向上找祖父类__init__函数,直至找到object类中的空__init__函数。

函数和方法的区别

学python时经常会有人搞不清楚函数和方法的区别。在此通过案例来搞清楚它们的区别。

from types import FunctionType, MethodTypeclass Animal:kind = 'all animals'def eat(self):print('The animal is eating!')white_cat = Animal()print(isinstance(Animal.eat, FunctionType))  # 判断Animal.eat是不是函数print(isinstance(white_cat.eat, FunctionType))  # 判断white_cat.eat是不是函数print(isinstance(Animal.eat, MethodType))  # 判断Animal.eat是不是方法print(isinstance(white_cat.eat, MethodType))  # 判断white_cat.eat是不是方法out:TrueFalseFalseTrue

通过以上案例得出结论:

类.变量名()调用时,该变量名是函数。

变量名()调用时,该变量名是函数。

实例.变量名()调用时,该变量名是方法。

到此,相信大家对“python面向对象编程常用名词有哪些”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

推荐阅读:
  1. Rancher常用操作及名词概念解析
  2. Python-面向对象编程

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:Python解析式有哪些

下一篇:在oracle11g中altersystem set recyclebin = off报错recyclebin参数在11g和10g中的有哪些区别

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》