当前位置: 首页 > article >正文

python-类的属性和方法练习

面向对象编程

类是一类事物的统称,比如学生。对象就是类的实例化。

类有属性(变量),比如学生的姓名、性别、年龄、成绩等,也就是编程里面的变量。

类有方法(函数),比如学生的上课、下课等,也就是编程里面的函数。创建类

类是一种数据结构,我们可以用它来定义对象,对象把数据值和行为特性融合在一起。Python 使用class 关键字来创建类:通常类名的第一个字母大写,推荐使用驼峰式命名法,单词首字母均大写。类有属性(变量)和方法(动作,函数)组成。

创建类

类是一种数据结构,我们可以用它来定义对象,对象把数据值和行为特性融合在一起。Python 使用class 关键字来创建类:通常类名的第一个字母大写,推荐使用驼峰式命名法,单词首字母均大写。类有属性(变量)和方法(动作,函数)组成。

class ClassName(bases):'class documentation string'    #'类文档字符串'class_suite                     # 类体

简述__init___方法

__init__() 是类的实例(对象)创建后第一个被调用的方法,通常被用来进行对象中属性(变量)的初始化。设置实例的属性可以在实例创建后任意时间进行,但是通常情况下优先在__init__() 方法中实现。

  • 定义类型

  • 实例化对象(创建一个对象)

  • 初始化对象(第一次给对象属性赋值)

    创建一个Kid 类,包含姓名,性别,年龄属性和play 方法

#导入时间包
import time
#定义一个类Stu
class Stu():
#定义类自身的初始属性    __init__ self()//固定搭配def __init__(self,name,sex,age,score):self.name=   nameself.sex=    sexself.age=     ageself.score=  score#定义了good_ssss方法为努力学习,且在方法中在方法中打印"努力学习"# 并暂停10秒钟(使用time.sleep(10)模拟学习时间),# 然后将成绩增加0.1。def good_ssss(self):print("努力学习")time.sleep(10)self.score += 0.1#get_score方法用于获取学生的成绩,打印学生姓名和成绩。def get_score(self):print(f"{self.name}的成绩是{self.score}")
# 此处创建了两个学生对象
stu1 = Stu ("AJEST",True,24,59.9)
stu2 = Stu ("XBD",False,24,69.9)
#此处stu1调用了get_score方法.
# 打印成绩并使用good_ssss方法学习,然后再调用get_score方法打印成绩,并暂停10s
stu1.get_score()
stu1.good_ssss()
stu1.get_score()

创建一个Stu 类,继承Kid 类,同时包含成绩属性,获取成绩方法,努力学习方法,play 方法,要求play 方法重写,成绩属性私有

image-20230919202746686

私有化失败

image-20230919204435255

私有化成功

image-20230919204507015

最终代码

3 由Stu 类生成学生对象

4 测试类中方法

#导入时间模块
import time
#定义一个类Kid
class Kid():#定义类自身的初始属性    __init__ self()//固定搭配def __init__(self,name ="",sex ="",age =""):self.name = nameself.age = ageself.sex =sex#定义了play方法并输出LOL中def play(self):print('LOL中')
#表示Stu类会继承Kid类属性和方法
class Stu(Kid):#定义类自身的初始属性 __init__self()//固定搭配def __init__(self,name ='',sex ='',age ='',score =''):# 是一个构造方法(初始化方法)的调用,用于初始化 Kid 类的实例对象。这个方法接受了 self、name、sex 和 age 四个参Kid.__init__(self,name,sex,age)# 给当前代码score赋值self.score = score# 给get_score定义方法将输出名字和成绩插入到输出语句中。def get_score(self):print(f'{self.name} 的成绩是{self.score}')# 定义一个玩的方法def play(self):print('LOL中......')time.sleep(2) # 停2sself.score -= 0.1 #成绩降低了0.1def good_good_study(self): # 定义了good_good_study的方法print('努力学习中')time.sleep(2) #停2s后self.score += 0.1#成绩提升了0.1#此处创建了4个学生对象并被赋值了类的属性
stu1 = Stu(name = 'XBD',sex = True, age = 24,score = 59.9) # 生成学生对象
stu2 = Stu(name ='X',sex = True, age = 25,score =49.9)
stu3 = Stu(name = 'XB',sex = True,age =23,score = 99.9)
stu4 = Stu(name = 'BD', sex = True, age = 24,score =79.9)
stu1.play()
stu1.get_score()
# print(stu1.__score) #私有化
stu1.good_good_study () #测试类中方法
stu1.good_good_study ()
stu1.good_good_study ()
stu1.get_score()

nt(stu1.__score) #私有化
stu1.good_good_study () #测试类中方法
stu1.good_good_study ()
stu1.good_good_study ()
stu1.get_score()


http://www.lryc.cn/news/2417931.html

相关文章:

  • MyEclipse7.5+EclipseMe+WTK2.5搭建J2ME开发环境
  • 分享78个ASP电子商务源码,总有一款适合您
  • 网络原理 | 广域网数据传输流程(DNS、NAPT、路由)
  • 探索前沿科技:12306 系统克隆与学习项目
  • 盘点那些不为人知却堪称神器的8款系统管理软件
  • iPhone史上最全的使用教程
  • Apache配置
  • Windows Phone 8应用开发工具特性详解
  • SetWindowsHookEx实现过程
  • 美拍解析去水印原理,sign签名算法,获得无水印播放地址
  • Win10/11系统修复不求人,FixWin11.1系统修复小工具。
  • 龙将加速浏览器_《命运2》“凌光之刻”各版本内容介绍,迅游加速流畅开玩全新DLC...
  • BUUCTF 每日打卡 2021-7-18
  • 巨丝滑 —— 自己动手撸一个图片编辑器(支持长图)
  • 2020年有寓意的领证日期_2020有寓意的领证日期 2020热门领证日期
  • 8小时理解go - 基本语法
  • PC端分享至QQ空间、新浪、微信
  • PHP实现Trim函数功能(附完整源码)
  • .net core 请求外部接口;ABP HttpClientFactory的使用
  • vuex结合mixin在实际项目中的使用(超详细)
  • 前端缓存详解
  • 学习记录333@MySQL问题之server name is already exists解决方案
  • kernel panic 分析解决方法
  • 基于Java游戏论坛平台设计和实现(源码+LW+调试文档+讲解等)
  • Picasa生成图片幻灯片页面图文教程
  • Java集合详解(超详细)
  • 什么是CSharp
  • c语言常量详细解释及简单应用
  • 入门MySQL--0基础,操作详图,简单易懂
  • CDB(ContainerDatabase)与PDB(PluggableDatabase)