zoukankan      html  css  js  c++  java
  • Python类与对象实验

    一、任务描述

      本实验任务主要对Python类与对象进行一些基本操作,通过完成本实验任务,要求学生熟练掌握Python类与对象的关系,并对Python类与对象的基本操作进行整理并填写工作任务报告。

    二、任务目标

    1、掌握Python类的创建

    2、掌握类对象

    三、任务环境

    Ubuntu16.04、Python2.7

    四、任务分析

      面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。

     ♥ 温馨提示
    类是对象的模板或蓝图,类是对象的抽象化,对象是类的实例化。类不代表具体的事物,而对象表示具体的事物。

    五、任务实施

    步骤1、环境准备

      右击Ubuntu操作系统桌面,从弹出菜单中选择【Open in Terminal】命令 打开终端。

      通过【cd /home】切换到home目录下。【ls】查看该目录下的所有内容。

    图1 切换目录

      【mkdir class】在home目录下创建class文件夹。

    图2 创建文件夹

    步骤2、类

      【cd class】切换到class目录下,【vim class1.py】回车后创建并编辑名为class1的Python文件

    图3 创建Python文件

      回车后进入编辑框内,按键盘【i】进入编辑状态,输入如下程序。

      在Python中,定义类是通过class关键字。class后面紧接着是类名,即Brid,类名通常是大写开头的单词,紧接着是(object)。

      用class关键字定义一个类,类名为鸟(Bird)。括号内的关键object,也就是‘东西’的意思。既某一个个体也为对象。一个类别下,可以有多个对象。

    图4 编辑Python文件

      直接定义在类内部的属性为类属性,为这个类对象所有,所有类的实例可以访问。定义两个量,一个用于说明鸟类有羽毛(feather),另一个用于说明鸟类的繁殖方式(reproduction),这两个量成为类的属性。

    图5 类属性

      除了用属性来分辨类别外,也可以根据这类东西可以做什么来区分,比如鸟会飞,这样的一些行为属性成为方法。通过在类的内部定义函数来说明方法。

      在鸟类中新增一个方法属性,表示鸟叫的方法chirp(),第一个参数是self,为了在方法内部引用对象自身。

    图6 方法

    步骤3、对象

      通过调用类,可以创造出这个类的对象。

      说明summer属于鸟类的一个对象。

    图7 创建对象

      作为对象的summer将拥有鸟类的属性和方法。对属性的引用是通过对象.属性的形式实现的。

    图8 调用类属性

      编辑完毕后,按【esc】退出编辑状态,【:wq】保存并退出编辑框,【python class1.py】执行class1的Python文件。

      打印‘egg’,得到summer所属类的繁殖方式。

    图9 运行Python文件

      也可以调用方法,让summer执行鸟类允许的动作。

      再次进入class1.py文件编辑状态,修改程序。

    图10 编辑Python文件

      再次运行class1.py程序。打印‘jijiji’。

      在调用方法时,只传递一个参数,就是字符创‘jijiji’,self只用在类定义的内部,所以调用方法时不需要对self传入数据。

    图11 运行Python文件

      对于全部个体来说,某些属性存在个体差异,比如summer是黄色的,但并非所有的鸟都是黄色的,除了共性的属性外,还需要说明个性的对象属性,可以通过self来操作对象的属性。

      再次进入class1.py文件编辑状态,修改程序。

      在set_color方法中,通过self参数设定对象属性color,和类属性一样,通过对象.属性的方式来操作对象属性,由于对象属性依赖于self,所以对象属性没办法像类属性一样,在类下方赋值。

    图12 编辑Python文件

      再次运行class1.py程序。打印‘yellow’。

    图13 运行Python文件

      Python提供了初始化对象属性的方法,如__init__()__add()__等,可以在类中设定特殊方法,__init__()方法会在每次创建对象时自动调用。

      再次进入class1.py文件编辑状态,修改程序。

      通过__init__()说明类的初始化方式。当对象建立时,__init__()会被调用,设定了sound的对象属性,在chirp()方法中,就可以通过self调用对象属性。

    图14 编辑Python文件

      再次运行class1.py程序。

    图15 运行Python文件

      self参数除了操作对象属性外,还可以在一方法内部调用同一类的其他方法。
    再次进入class1.py文件编辑状态,修改程序。

    图16 编辑Python文件

      再次运行class1.py程序。重复打印‘jijiji’5次。

    图17 运行Python文件
  • 相关阅读:
    IDEA 修改JavaWeb的访问路径
    坦克大战--Java类型 ---- (1)音乐播放
    codeforces 620C
    算法笔记之KMP算法
    算法笔记数组
    26. Remove Duplicates from Sorted Array
    哈夫曼树的证明
    Complete Binary Search Tree
    Root of AVL Tree
    .net framework环境
  • 原文地址:https://www.cnblogs.com/yu-1104/p/9050501.html
Copyright © 2011-2022 走看看