首页 > 其他分享 >Day28.学校类的定义与使用

Day28.学校类的定义与使用

时间:2024-06-16 22:36:39浏览次数:7  
标签:班级 Day28 self school name 学校 class 定义

1.学校类的定义与使用_学校类__创建学校并关联班级

   学校类__创建学校并关联班级,代码如下:

# 整合 --> 解耦合 --> 扩展性增强
class School:                           # 学校类
    # 学校共有的数据
    school_name = 'OLDBOY'
    # 每个学校独有的东西
    def __init__(self, nickname, addr):
        self.nickname = nickname        # 别名
        self.addr = addr                # 地址
        self.classes = []               # 班级

    # 学校共有的功能,关联班级
    def related_class(self, class_name):
        self.classes.append(class_name)

    # 有重复代码,定义一个函数, 绑定方法使用self,谁来调用这个函数,我就把谁传进来
    # 例: school_obj1调用tell_class函数,则就把school_obj1对应的School('老男孩魔都校区', '上海')的传参,传进来
    def tell_class(self):
        print(self.nickname)
        for class_name in self.classes:
            # print('学校的名称:{}, 班级名称:{} '.format(self.nickname, class_name))
            print('        班级名称:{} '.format(class_name))


# 一:学校
'''1.创建学校'''
school_obj1 = School('老男孩魔都校区', '上海')
school_obj2 = School('老男孩帝都校区', '北京')

'''2.为学校开设班级(学校关联班级)'''
school_obj1.related_class('脱产14期')
school_obj1.related_class('脱产15期')
school_obj2.related_class('脱产29期')

2.学校类的定义与使用_查看学校类中对应班级的三种方法

   查看学校类中对应班级的三种方法:

'''3.1.查看学校对应班级的重复代码部分'''
print('3.1.查看学校对应班级的重复代码部分'.center(60,'-'))
# 上海校区开了脱产14期,上海校区开了脱产15期
for class_name in school_obj1.classes:
    print('学校的名称:{}, 班级名称:{} '.format(school_obj1.nickname, class_name))

# 北京校区开了脱产29期
for class_name in school_obj2.classes:
    print('学校的名称:{}, 班级名称:{} '.format(school_obj2.nickname, class_name))

'''3.2.类中新增tell_class方法,处理`查看学校对应班级的重复代码部分`'''
print('3.2.类中新增tell_class方法,处理`查看学校对应班级的重复代码部分_Ⅰ`'.center(60, '-'))
School.tell_class(school_obj1)
School.tell_class(school_obj2)

'''3.3.查看学校对应班级的重复代码部分'''
print('3.3.类中新增tell_class方法,处理`查看学校对应班级的重复代码部分_Ⅱ`'.center(60, '-'))
school_obj1.tell_class()
school_obj2.tell_class()

3.学校类的定义与使用_三种方法的执行结果

 

标签:班级,Day28,self,school,name,学校,class,定义
From: https://www.cnblogs.com/vless/p/18251395

相关文章

  • 【iOS】自定义cell及其复用机制
    文章目录cell的复用注册非注册两者的区别自定义cellcell的复用当用户滚动UITableView或UICollectionView时,只有少量可见的cell会被实际创建和显示。对于那些暂时不可见的cell,系统会将它们缓存起来以备将来复用。这就是所谓的cell复用机制。为什么需要......
  • 嵌入式数据库_1.嵌入式数据库的定义及特点和分类
    1.嵌入式数据库的定义及特点1.1定义          嵌入式数据库的名称来自其独特的运行模式。这种数据库嵌入到了应用程序进程中,消除了与客户机服务器配置相关的开销。嵌入式数据库实际上是轻量级的,在运行时,它们需要较少的内存。它们是使用精简代码编写的,对于......
  • Java学习 - MySQL对于数据库、表、数据类型的定义
    对于数据库的定义创建库CREATEDATABASEIFNOTEXISTS库名DEFAULTCHARACTERSETutf8//设置默认字符集为utf8COLLATEuf8_general_ci;//不区分大小写caseinsensitiveCREATEDATABASEIFNOTEXISTS库名DEFAULTCHARACTERSETutf8//设置默认字......
  • 【JAVA开发笔记】实战演练,如何用EasyExcel导出表格,并且自定义合并单元格
    目录1.前言2.EasyExcel简介3.EasyExcel简单导出案例讲解3.1EasyExcel依赖引入3.2测试类创建3.3Excel导出实现4.EasyExcel合并单元案例讲解4.1实现自定义合并策略4.2 使用自定义合并策略5.总结1.前言项目上,需将一个列表数据导出Excel表格,并将指定列相同......
  • 机器视觉入门学习:YOLOV5自定义数据集部署、网络详解、损失函数(学习笔记)
     前言源码学习资源:YOLOV5预处理和后处理,源码详细分析-CSDN博客网络学习资源:YOLOv5网络详解_yolov5网络结构详解-CSDN博客YOLOv5-v6.0学习笔记_yolov5的置信度损失公式-CSDN博客 本文为个人学习,整合各路大佬的资料进行V5-6.0版本的网络分析,在开始学习之前最好先去学习YOL......
  • 定义两个结构体变量student1和student2,成员包括学号、姓名、性别、出生日期、成绩。对
            在定义了结构体变量以后,当然可以引用这个变量。    (1)可以将一个结构体变量的值赋给另一个具有相同结构的结构体变量。如:        student1=student2;赋值时,结构体变量student2中的各个成员的值分别赋给结构体变量student1中相应的成员。 ......
  • 人工智能、机器学习与深度学习的奥秘:探索三者的定义与差异
    1.1人工智能现今每天都有很多人工智能的文章发表,并且在最近两年愈演愈烈。网络上关于人工智能的定义有几种说法,我最喜欢的一个是,通常由人完成的智能任务的自动化。1.1.1人工智能发展史1956年,约翰·麦肯锡(JohnMcCarthy)主持召开了第一次人工智能的学术会议,并创造了人工智......
  • 5.3 用户定义的完整性
    5.3.1检查约束1.在创建表示创建检查约束语法格式:СНЕСK(ехрr),expr为约束条件表达式。 【例5.14】在数据库study中创建选课3表,在成绩列以列级完整性约束方式定义检查约束。 createtable选课3(学号char(6)notnull,课程号 char(4)not null,......
  • 下列程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数 fun(int a[][N]),该
    下列程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(inta[][N]),该函数的功能是:使数组左下半三角元素中的值全部置成0。#include<stdio.h>#defineN3voidfun(inta[][N]){for(inti=1;i<N;i++){for(intj=0;j<i;j++){......
  • c++_0基础_讲解4 变量定义
    变量C++中的变量是存储数据值的容器,这些值可以在程序执行过程中被修改和使用。在C++中,变量必须先声明后使用,声明变量也可以称之为定义变量,它告诉编译器在何处以及如何去分配存储空间。接下来我将对C++中的变量定义进行详细的介绍。在C++中,变量的定义由以下几个部分组......