Python OOP - practice_1

举报
ruochen 发表于 2021/03/28 01:48:55 2021/03/28
【摘要】 定义一个学生类,有下面的属性 姓名年龄成绩(语文,数学,英语)每课成绩类型为整数类方法 获取学生的姓名:get_name() 返回类型:str获取学生的年纪:get_age() 返回类型:int返回3门科目中最高的分数,get_course() 返回类型:int class Student(object): def __init__(self, name, age...

定义一个学生类,有下面的属性

  • 姓名
  • 年龄
  • 成绩(语文,数学,英语)每课成绩类型为整数
  • 类方法
    • 获取学生的姓名:get_name() 返回类型:str
    • 获取学生的年纪:get_age() 返回类型:int
    • 返回3门科目中最高的分数,get_course() 返回类型:int
class Student(object): def __init__(self, name, age, scores): self.name = name self.age = age self.scores = scores def get_name(self): return self.name def get_age(self): return self.age def get_course(self): return max(self.scores) zz = Student("aa", 18, [80, 100, 90])
print(zz.get_name())
print(zz.get_age())
print(zz.get_course())

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
aa
18
100

  
 
  • 1
  • 2
  • 3

定义一个字典类:DictClass,完成如下功能

  • 删除某个key del_dict(key)
  • 判断某个键是否在字典里,如果在,返回键对应的值,不在,则返回’not found’ get_dict()
  • 返回键组成的列表 返回类型:list get_key()
  • 合并字典,并且返回合并后字典的values组成的列表,返回类型 list updata_dict()
class DictClass(object): def __init__(self, dict): self.dict = dict def del_dict(self, key): # 判断key是否在字典里 if key not in self.dict.keys(): return "key不在字典里" else: self.dict.pop(key) return "删除成功" def get_dict(self, key): if key not in self.dict.keys(): return "not found" else: return self.dict[key] def get_key(self): return self.dict.keys() def updata_dict(self, dict2): self.dict = dict(self.dict, **dict2) return self.dict.values() d = DictClass({"a":1, "b":2})
print(d.get_key())
print(d.updata_dict({"c":3}))
print(d.del_dict("a"))
print(d.get_dict("b"))

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
dict_keys(['a', 'b'])
dict_values([1, 2, 3])
删除成功
2

  
 
  • 1
  • 2
  • 3
  • 4

定义一个列表的操作类 ListInfo

  • 列表元素添加:add_key() 添加的必须数字或者字符串
  • 列表元素取值:get_key()
  • 列表合并:updata_list(list)
  • 删除并且返回最后一个元素:del_key()
class ListInfo(object): def __init__(self, list_val): self.list = list_val def add_key(self, key_name): # 添加的key必须是数字或者字符串 if isinstance(key_name, (str, int)): self.list.append(key_name) print(self.list) return "OK" else: return "我要字符串或者数字" def get_key(self, index): # 判断传入的索引是否超出了列表 if index >= 0 and index < len(self.list): return self.list[index] return "你输入的太多了!" def updata_list(self, new_list): self.list.extend(new_list) return self.list def del_key(self): # 首先要判断我们的列表里面是否还有元素 if len(self.list) >= 0: return self.list.pop(-1) else: return "列表是空的" list_info = ListInfo([1, 2, 3, 4, 5])

print(list_info.add_key([1,2]))
print(list_info.get_key(999))
print(list_info.get_key(3))
print(list_info.updata_list([8, 9, 10]))
print(list_info.del_key())

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
我要字符串或者数字
你输入的太多了!
4
[1, 2, 3, 4, 5, 8, 9, 10]
10

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

定义一个集合的操作类

  • 集合元素添加:add_setinfo()
  • 集合的交集:get_intersection()
  • 集合的并集:get_union
  • 集合的差集:del_difference()
class SetInfo(object): def __init__(self, my_set): self.sett = my_set def add_setinfo(self, keyname): self.sett.add(keyname) return self.sett def get_intersection(self, unioninfo): if isinstance(unioninfo, set): return self.sett & unioninfo else: return "你传入的不是set" def get_union(self, unioninfo): if isinstance(unioninfo, set): return self.sett | unioninfo return "你传入的不是set" def del_difference(self, unioninfo): if isinstance(unioninfo, set): return self.sett - unioninfo return "你传入的不是set"

A = set([1, 2, 3, 4, 5]) B = set([5, 6, 3, 8])
my_set = SetInfo(A)
print(my_set.add_setinfo(6))
print(my_set.get_intersection(B))
print(my_set.get_union(B))
print(my_set.del_difference(B))
print(my_set.get_union("123"))

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
{1, 2, 3, 4, 5, 6}
{3, 5, 6}
{1, 2, 3, 4, 5, 6, 8}
{1, 2, 4}
你传入的不是set

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

文章来源: ruochen.blog.csdn.net,作者:若尘,版权归原作者所有,如需转载,请联系作者。

原文链接:ruochen.blog.csdn.net/article/details/90445621

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。