Python类练习

news/2024/12/2 20:33:20/

文章目录

  • 题目要求
  • 步骤

题目要求

1)创建一个 Kid 类,包含姓名,性别,年龄属性和 play 方法
2) 创建一个 Stu 类,继承 Kid 类,同时包含成绩属性,获取成绩方法,努力学习方法,play方法,要求play 方法重写,成绩属性私有。
3) 由 Stu 类生成学生对象。
4)测试类中方法。

步骤

创建一个Kid类,并用init方法初始化,然后定义了一个play方法:

class Kid():def __init__(self,name,sex,age):self.name=nameself.sex=sexself.age=agedef play(self):print("玩游戏中...")

创建一个Stu类,初始化并继承Kid类,定义一个努力学习方法,重写Kid类的play方法,输出成绩的方法,并将成绩属性设为私有(将成绩属性设为私有,就必须在该类的内部的方法才能访问,关于私有属性的设置,详解请移步我之前的博客 Python面向对象):

import time
class Stu(Kid):def __init__(self,name,sex,age,score):self.__score=scoreself.name=nameself.sex=sexself.age=agedef study_hard(self):print("努力学习中...")time.sleep(3)self.__score += 0.1def play(self):print("玩原神中...")time.sleep(3)self.__score -= 1def put_score(self):print(f"{self.name}的成绩是{self.__score}")

由Stu类实例化一个学生对象:

stu1 = Stu(name="EMT",sex=True,age=24,score=95.9)

由该对象调用类中的方法:

stu1.put_score()
stu1.study_hard()
stu1.study_hard()
stu1.play()
stu1.put_score()

将上述代码组成一段完整代码:

import timeclass Kid():def __init__(self,name,sex,age):self.name=nameself.sex=sexself.age=agedef play(self):print("玩游戏中...")class Stu(Kid):def __init__(self,name,sex,age,score):self.__score=scoreself.name=nameself.sex=sexself.age=agedef study_hard(self):print("努力学习中...")time.sleep(3)self.__score += 0.1def play(self):print("玩原神中...")time.sleep(3)self.__score -= 1def put_score(self):print(f"{self.name}的成绩是{self.__score}")stu1 = Stu(name="EMT",sex=True,age=24,score=95.9)stu1.put_score()
stu1.study_hard()
stu1.study_hard()
stu1.play()
stu1.put_score()

如下图,stu1成功调用了三个方法:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

由于其中的score属性是私有的,如果使用print(stu1.__score)函数访问该属性,则不能访问(只有Stu类中的方法能访问私有属性):

在这里插入图片描述


http://www.ppmy.cn/news/1116626.html

相关文章

跨平台编程开发工具Xojo 2023 Release mac中文版功能介绍

Xojo mac是一款跨平台的软件开发工具,它允许开发人员使用一种编程语言来创建应用程序,然后可以在多个操作系统上运行。Xojo 2023是Xojo开发工具的最新版本,它提供了许多功能和改进,以帮助开发人员更轻松地构建高质量的应用程序。 …

Word中的图片保存后变模糊怎么解决

目录 1.介绍 2.原因 3.解决方案 Word是由微软公司开发的一款文字处理软件,它是Microsoft Office套件的一部分。Word提供了丰富的功能和工具,使用户能够创建、编辑和格式化文档。它支持各种文本处理任务,包括编写信函、报告、论文、简历等。…

B树的定义和特点

1.多叉查找树的效率 策略1:m叉查找树中,规定除了根节点外,任何结点至少有[m/2]个分叉,即至少含有[m/2]-1个关键字。策略2:m叉查找树中,规定对于任何一个结点,其所有子树的高度都要相同。 而满足以上两种策略的树被称…

QT记事本+登陆界面的简单实现

主体头文件 #ifndef JSB_H #define JSB_H#include <QMainWindow> #include <QMenuBar>//菜单栏 #include <QToolBar>//工具栏 #include <QStatusBar>//状态栏 #include <QTextEdit>//文本 #include <QLabel>//标签 #include <QDebug&g…

【JavaEE】多线程案例-单例模式

文章目录 1. 前言2. 什么是单例模式3. 如何实现单例模式3.1 饿汉模式3.2 懒汉模式4. 解决单例模式中遇到的线程安全问题4.1 加锁4.2 加上一个判断解决频繁加锁问题4.2 解决因指令重排序造成的线程不安全问题 1. 前言 单例模式是我们面试中最常考到的设计模式。什么是设计模式呢…

开发环境_Linux

环境搭建 文章目录 环境搭建[toc]DockerDocker运行权限Docker加速Docker容器创建 Python版本切换版本工具RepoGit 开发SDK代码拉取在线离线(推荐) Debian安装软件包编译打包 问题技巧 Docker sudo apt install docker.ioDocker运行权限 #添加docker group sudo groupadd doc…

c语言进阶部分详解(指针进阶1)

大家好&#xff01;指针的初阶内容我已经写好&#xff0c;可移步至我的文章&#xff1a;c语言进阶部分详解&#xff08;指针初阶&#xff09;_总之就是非常唔姆的博客-CSDN博客 基本内容我便不再赘述&#xff0c;直接带大家进入进阶内容&#xff1a; 目录 一.字符指针 1.讲解…

深眸科技迭代深度学习算法,以AI机器视觉技术扩围工业应用场景

智能制造是制造业数智化转型升级的发展方向&#xff0c;在当前以高端装备制造为核心的工业4.0时代背景下&#xff0c;越来越多的制造企业意识到机器视觉对于提高效率、降低成本&#xff0c;从而提升企业效益的意义。 目前&#xff0c;机器视觉已成为制造业迈向智能制造过程中极…