python中定义一个动物类_手把手地教你面向对象的Python,学,之

论坛 期权论坛     
选择匿名的用户   2021-5-22 14:47   128   0
<div style="font-size:16px;">
<p>目录</p>
<p>面向对象是相对于面向过程而言的,它是一种</p>
<p>对现实世界理解和抽象的方法</p>
<p>,是计算机编程技术</p>
<p>发展到一定阶段的产物</p>
<p>。</p>
<p>向过程编程</p>
<p>主要是</p>
<p>分析出实现需求所需要的步骤</p>
<p>,通过函数一步一步实现这些步骤,接着依次调用函数即可。</p>
<p>面向对象编程</p>
<p>则是</p>
<p>分析出需求中涉及到哪些对象</p>
<p>,这些对象各自有哪些特征、有什么功能,对象之间存在何种关系</p>
<p>等,将存在共性的事物或关系抽象成类。最后通过对象的组合和调用完成需求。</p>
<p>面向过程编程性能更高,适合于</p>
<p>简单系统,容易理解</p>
<p>。面向对象编程易维护、易扩展、易复用,适合于</p>
<p>复杂系统,灵活方便</p>
<p>。</p>
<p>1、</p>
<p>类和对象</p>
<p>对象</p>
<p>是指实实在在存在的各种事物,例如某张桌子、某辆汽车、某个学生等。对象通常包含两部分信息:</p>
<p>属性</p>
<p>和</p>
<p>行为</p>
<p>。一般使用</p>
<p>变量表示对象的属性</p>
<p>,用</p>
<p>函数或方法表示对象的行为</p>
<p>。</p>
<p>类</p>
<p>是用来描述一组</p>
<p>具有相同属性和行为的对象的模板</p>
<p>,是对这组对象的</p>
<p>概括</p>
<p>、</p>
<p>归纳</p>
<p>和</p>
<p>抽象表达</p>
<p>。</p>
<p>现实世界中,</p>
<p>先有对象后有类</p>
<p>,物以类聚;而在计算机的世界里,</p>
<p>先有类后有对象</p>
<p>。在面向对象程序设计中,先在类中定义共同的属性和行为,然后</p>
<p>通过类创建具有特定属性值和行为的实例</p>
<p>,这便是对象。类不是一种具体存在,实例才是具体存在。</p>
<p>(1)Python中类的定义</p>
<p align="center"><img alt="7e128705f0924feb87d3726682cd3122.png" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-31ed94074bb7c9546858e2c146717c1d.png"></p>
<p>类的定义举例:</p>
<p align="center"><img alt="cab783c6cbc2bd7fd651c45444cb67eb.png" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-8df1ad26af4de70de620ef7550c4f88b.png"></p>
<p>(2)对象的创建</p>
<p>类是一种抽象概念,要使用类的功能,就必须进行</p>
<p>类的实例化</p>
<p>,即创建类的对象。例如矩形是一种抽象概念,长为 5 宽为 3的矩形就是具体的矩形对象。</p>
<p>创建类的对象的方式类似函数调用方式:</p>
<p>对象名 &#61; 类名(参数列表)</p>
<p>注意</p>
<p>:程序通过类的</p>
<p>__init__()</p>
<p>方法接受(参数列表)中的参数,</p>
<p>参数列表中的参数要与__init__()方法中除了 self 以外的参数匹配</p>
<p>。</p>
<p align="center"><img alt="83c66201110f1976195686d1016703b0.png" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-22427be062f90f34b1a21187cc650af9.png"></p>
<p>2、</p>
<p>类中的变量</p>
<p>成员变量用于</p>
<p>存储或描述类和对象属性信息</p>
<p>,根据位置不同可分为:</p>
<p>类变量</p>
<p>和</p>
<p>实例变量</p>
<p>。成员变量可以</p>
<p>被该类中定义的方法访问</p>
<p>,也可以</p>
<p>在外部通过对象进行访问</p>
<p>,而在方法体中定义的</p>
<p>局部变量</p>
<p>,则</p>
<p>只能在方法内进行访问</p>
<p>。</p>
<p>(1)实例变量</p>
<p>实例变量</p>
<p>在方法内部通过“</p>
<p>self.</p>
<p>变量名</p>
<p>”</p>
<p>定义的变量,注意和局部变量的区别,实例变量在类的内部通过“</p>
<p>self.</p>
<p>变量名</p>
<p>”</p>
<p>访问</p>
<p>,在外部通过“</p>
<p>对象名.变量名</p>
<p>”</p>
<p>来访问</p>
<p>。</p>
<p>实例变量一般是在__init__()方法中进行初始化,</p>
<p>self.</p>
<p>变量名</p>
<p>&#61; __init__ ()</p>
<p>方法传递过来的实参</p>
<p>。也可以在其他方法中定义或创建对象后添加</p>
<p>,</p>
<p>但不建议</p>
<p>。</p>
<p align="center"><img alt="98be3348a17afa5604e36120d37e4158.png" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-40e4a05dc962b07462d3170496dacd5c.png"></p>
<p>在Python中可</p>
<p>通过</p>
<p>dir(</p>
<p>对象)</p>
<p>查看该对象所有的成员名称</p>
<p>,包括</p>
<p>成员变量</p>
<p>和</p>
<p>成员方法</p>
<p>。</p>
<p>直接</p>
<p>访问一个不存在的实例变量时</p>
<p>,将会</p>
<p>抛出属性异常</p>
<p>:</p>
<p>AttributeError</p>
<p>。</p>
<p>直接</p>
<p>对一个不存在的实例变量赋值</p>
<p>,将会</p>
<p>为该对象添加一个实例变量</p>
<p>。有点类似于字典中键的操作。</p>
<p>注意:</p>
<p>如果实例变量名</p>
<p>以两个下划线开始</p>
<p>,
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP