一、任务描述

本实验任务主要对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文件

python的类和对象_Python类与对象实验相关推荐

  1. python里面的类和对象_Python中类和对象在内存中是如何保存?

    类以及类中的方法在内存中只有一份,而根据类创建的每一个对象都在内存中需要存一份,大致如下图: 如上图所示,根据类创建对象时,对象中除了封装 name 和 age 的值之外,还会保存一个类对象指针,该值 ...

  2. python一个类有几个实例对象_Python为单个对象/类创建多个实例

    我在用Python.我读了一点关于这个的书,似乎无法把我的思想集中起来.我想做的是有一个叫做魔药的类,里面有各种魔药对象.现在只有一种药水,一种简单的保健药水.我希望药水可以堆放在库存和商店库存中.所 ...

  3. python简述对象和类的关系_python 类的定义_类和对象的关系

    1.类和对象 我们把对象比作一个"饼干",类就是制作这个饼干的"模具". 我们通过类定义不同数据类型的属性(数据)和方法(行为),也就是说,"类将行为 ...

  4. python中简述对象和类的关系_python 类与类之间的关系

    一.依赖关系(紧密程度最低) (1)简单的定义:就是方法中传递一个对象.此时类与类之间存在依赖关系,此关系比较低. (2)实例植物大战僵尸简易版 题目要求:创建一个植物,创建一个僵尸 1.植物:名字. ...

  5. python类与函数编程_Python类三种方法,函数传参,类与实例变量(一)详解

    1 Python的函数传递: 首先所有的变量都可以理解为内存中一个对象的'引用' a = 1 def func(a): a = 2 func(a) print(a) # 1 a = 1 def fun ...

  6. python类中包含一个特殊的变量、它可以访问类的成员_Python 类的特殊成员介绍...

    类的成员有两种形式 公有成员,在任何地方都能访问 私有成员,只有在类的内部才能方法,私有成员命名时,前两个字符是下划线. class Foo: def __init__(self, name, age ...

  7. python的类是什么_Python类(class)

    简介 如果你已经学会了函数式编程过程,那么基本上可以解决一些常见的问题了.但是想编写大型复杂的程序,此时就需要用到类(class)这种方法了.一般来说,python的开发方法分为面向过程和面向对象两种 ...

  8. python什么是类的继承_Python类的继承(进阶5)

    Python类的继承(进阶5) 1. python中什么是继承 python中什么是继承: 新类不必从头编写 新类从现有的类继承,就自动拥有了现有类的所有功能 新类只需要编写现有类缺少的新功能 继承的 ...

  9. python类属性初始化_Python类定义、属性、初始化和析构

    类的定义,属性和方法概念 方法中self的作用和意义 初始化( __init__ ) 和 析构方法( __del__ ) 类的定义 class 类名 实例 实例名 = 类名() 一个"实例& ...

最新文章

  1. 一次900万+数据量 SQL 查询优化后的原理总结!
  2. linux setup 进步了网卡,linux 网卡修改小结
  3. jax-ws服务使用
  4. 2021/11/24 微软亚州研究院游记
  5. 5.30 Tree Traversal + Tree manipulation
  6. 【备忘】Oracle10g 创建、删除表空间、创建、授权用户
  7. ant design vue input change_Ant-design-vue项目实现动态路由
  8. 放置等于弃置?放置类游戏是否是市场下一个风口?
  9. Python中关于使用正则表达式相关的部分笔记
  10. python特性和属性的区别_什么是属性,什么是特性,有何不同?
  11. 将json绑定为对象_了解自定义对象创建:JSON绑定概述系列
  12. 【CSS+HTML】关于字体的说明
  13. 获取线程名称 java 1615387415
  14. ios 旋转加载gif_iOS 中gif图的显示
  15. 微信公众平台开发(四)——微信支付
  16. GitHub上最火的40个Android开源项目(一)
  17. 7-12 文件传输 (25 point(s))
  18. TLF80511TC 是一款线性低压差稳压器—科时进商城
  19. linux 1.0 如何运行,观点|Linux 1.0 之旅:回顾这一切的开始
  20. python绘制等值线图_使用python祏rfer绘制等值线图的方式适题。

热门文章

  1. 最新视觉Transformer综述(2017-2020年)
  2. 白嫖谷歌 GPU 资源!使用神经网络提取 PDF 表格工具来了,支持图片
  3. 最年轻和最年长新院士:一个是数学神童 一个曾是氮肥厂工人
  4. 读博无门,就业碰壁,孤独当了7个月“民科”后,他的论文中了顶会
  5. Django博客系统(详情页面展示)
  6. windows下:ERROR 1366 (HY000): Incorrect string value: ‘\xC1\xF5\xB1\xB8‘ for column ‘name‘ at row 1
  7. 文件资源路径(相对路径和绝对路径)
  8. 信息安全的一些东西,初步查询了解!
  9. C++库文件和头文件编写教程
  10. 使用傅里叶变换进行图像边缘检测