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文件
转载于:https://www.cnblogs.com/yu-1104/p/9050501.html
Python类与对象实验相关推荐
- python的类和对象_Python类与对象实验
一.任务描述 本实验任务主要对Python类与对象进行一些基本操作,通过完成本实验任务,要求学生熟练掌握Python类与对象的关系,并对Python类与对象的基本操作进行整理并填写工作任务报告. 二. ...
- python类包含对象的个数_python类与对象各个算数运算魔法方法总结
1.python类与对象各个算术运算魔法方法总结: 2.各个魔法方法应用举例: 3.实例训练: (1)我们都知道在 Python 中,两个字符串相加会自动拼接字符串,但遗憾的是两个字符串相减却抛出异常 ...
- java类与对象实验_JAVA类与对象实验报告
<JAVA类与对象实验报告>由会员分享,可在线阅读,更多相关<JAVA类与对象实验报告(6页珍藏版)>请在人人文库网上搜索. 1.面向对象程序设计实验报告实验三.类与对象(1) ...
- 【Python基础入门系列】第10天:Python 类与对象
首先,我已经假定你是个萌新或已经看了无数遍的垃圾文章,然后依然搞不懂类和对象,但是呢起码知道有类和对象这么两个玩意儿,我觉得有必要找一篇生动形象的示例来讲解. 由于你可能没有编程经验, 所以无法从学过 ...
- 一文讲全了Python 类和对象内容
摘要:这是一个关于 Python 类和对象的全部内容. 本文分享自华为云社区<从零开始学python | Python 类和对象-面向对象编程>,原文作者:Yuchuan . Pytho ...
- python类和对象_Python类和对象
python类和对象 Python is an object-oriented programming language. Python Classes and Objects are the cor ...
- Java语言程序设计D实验——类与对象实验
Java语言程序设计D实验--类与对象实验 一.实验内容描述(问题域描述) [实验题目]类与对象 [实验目的]使用类来封装对象的属性和功能:掌握类变量与实例变量,以及类方法与实例方法的区别:掌握使用p ...
- java 类与对象实验报告_java类与对象实验报告
java类与对象实验报告 西 安 邮 电 大 学(计算机学院)课内实验报告实验名称: 类与对象 专业名称: 计算机科学与技术班 级: 计科1405班 学生姓名: 高宏伟 学 号: 04141152指导 ...
- java类对象实验问题_Java类与对象实验答案
Java类与对象实验答案Tag内容描述: 1.Java实验报告 计科.信工版2013-2014-2 实验报告 一.实验项目:类与对象 二.实验目的: 1. 学会使用类来封装对象的属性和功能 2. 掌握 ...
最新文章
- arm linux 启动之一:汇编启动到start_kernel
- 多gpu训练梯度如何计算,求和是否要求平均
- autofac文档:服务类型,名称和键
- Leetcode 435.无重叠区间 (每日一题 20210708 同类型题)
- 寻找 ASP.NET 2.0 老师
- 基于python的HOG+SVM目标检测算法实现
- idea struts插件_使用Struts 2的查询网格(无插件)
- 如何用c 控制mysql数据库_用C语言操作MySQL数据库
- (三)PYTHON字典 元祖 列表尝试应用
- 【计算机网络】TCP端口
- python爬虫什么意思-这样学Python爬虫,想爬什么爬什么
- 安卓交叉编译环境配置
- |洛谷|动态规划|P2014 选课
- Atitit 持久化 之道 attilax 艾龙著 1. 第2章 Java对象持久化技术概述 	2 1.1. 2.1 直接通过JDBC API来持久化实体域对象	2 1.2. 2.2 ORM简介	2
- Json转换成excel 离线版
- java类图资料整理
- 积分专题笔记-曲线面积分三大公式
- 动词ing形式的5种用法_动词ing形式的用法及变化规则
- Linux基础8-TCP的面向链接(三次四次)
- python 从大到小循环_Python循环小实例----猜大小
热门文章
- 四川巴中中学2021高考成绩查询,巴中市高中排名(2021巴中市中学前十排名)
- polkit 重新安装_不折腾,为U-NAS安装一个清爽的桌面,把小U打造成双面高手
- 使用注解版AOP解决事务问题
- php点击后增加html元素,如何动态生成html元素以及为元素追加属性的方法介绍(附代码)...
- oracle数据库集群日志,Oracle集群数据库中恢复归档日志
- int类型存小数 mysql_MySQL基本数据类型
- ad转换器工作原理_AD转换中参考电压的作用
- centos 7.6安装java_Hadoop的安装
- 淮安中专学计算机哪个学校好,2021淮安初中十强排名 哪些初中比较好
- python怎么查询元素是否在列表中_python怎么判断某一元素是否在列表中