(基础篇)PythonLearning_05

(面向对象类方法)

1.输出:
小明,18岁,男,开车去广州
小明,18岁,男,最喜欢运动
小明,18岁,男,去公司上班
小红,28岁,女,开车去广州
小红,28岁,女,最喜欢运动
小红,28岁,女,去公司上班
#  1.定义类,带参数的init:姓名、年龄、性别和兴趣;实例方法:调用实例属性。
class info():
    def __init__(self, name, age, sex, hobby):
        self.name = name
        self.age = age
        self.sex = sex
        self.hobby = hobby

    def print_info(self):
        print(f'{self.name},{self.age}岁,{self.sex},{self.hobby}')

#  2.创建对象,创建多个对象且属性值不同:调用实例方法。
xm1 = info('小明', 18, '男', '开车去广州')
xm1.print_info()
xm2 = info('小明', 18, '男', '最喜欢运动')
xm2.print_info()
xm3 = info('小明', 18, '男', '去公司上班')
xm3.print_info()
xh1 = info('小红', 28, '女', '开车去广州')
xh1.print_info()
xh2 = info('小红', 28, '女', '最喜欢运动')
xh2.print_info()
xh3 = info('小红', 28, '女', '去公司上班')
xh3.print_info()
2.游戏人生:
1)创建三个游戏人物,分别是:
苍井井,女,18,初始战斗力1000
东尼木木,男,20,初始战斗力1800
波多多,女,19,初始战斗力2500
2)游戏场景,分别:
草丛战斗,消耗200战斗力
自我修炼,增长100战斗力
多人游戏,消耗500战斗力
class gamelife():

    def __init__(self, name, sex, age, strength):
        self.name = name
        self.sex = sex
        self.age = age
        self.strength = strength

    def print_heroes(self):
        print(f'{self.name},{self.sex},{self.age},初始战斗力{self.strength}')


class scene():

    def __init__(self, scene, stren_exp):
        self.scene = scene
        self.stren_exp = stren_exp

    def print_scene(self):
        print(f'{self.scene},消耗{self.stren_exp}战斗力')


print('1)创建三个游戏人物,分别是:')
CJJ = gamelife('苍井井', '女', 18, 1000)
CJJ.print_heroes()
DNMM = gamelife('东尼木木', '男', 20, 1800)
DNMM.print_heroes()
BDD = gamelife('波多多', '女', 19, 2500)
BDD.print_heroes()
print('2)游戏场景,分别是:')
s1 = scene('草丛战斗',200)
s1.print_scene()
s2 = scene('自我修炼',100)
s2.print_scene()
s3 = scene('多人游戏',500)
3. 定义一个学生类
有下面的类属性:
1 姓名
2 年龄
3 成绩(语文,数学,英语)[每课成绩的类型为整数]
类方法:
1 获取学生的姓名:get_name() 返回类型:str
2 获取学生的年龄:get_age() 返回类型:int
3 返回3门科目中最高的分数。get_course() 返回类型:int
写好类以后,可以定义2个同学测试下:
zm = Student('zhangming',20,[69,88,100])
返回结果:
zhangming
20
100
class Student():

    def __init__(self, name, age, score):
        self.name = name
        self.age = age
        self.score = score

    def get_name(self):
        print(self.name)

    def get_age(self):
        print(self.age)

    def get_course(self):
        print(max(self.score))


zm = Student('zhangming', 20, [69, 88, 100])
zm.get_name()
zm.get_age()
zm.get_course()
4. 定义一个字典类:dictclass。完成下面的功能
dict = dictclass({你需要操作的字典对象})
1 删除某个key
del_dict(key)
2 判断某个键是否在字典里,如果在返回键对应的值,不存在则返回"not found"
get_dict(key)
3 返回键组成的列表:返回类型;(list)
get_key()
4 合并字典,并且返回合并后字典的values组成的列表。返回类型:(list)
update_dict({要合并的字典})
class dictclass():
    def __init__(self, dict):
        self.dict = dict

    def del_dict(self, k):
        if k in self.dict.keys():
            del self.dict[k]



    def get_dict(self, k):
        if k in self:
            print(self.dict[k])
        else:
            print('not found')

    def get_key(self):
        li = []
        for i in self.dict.keys():
            li.append(i)
        print(li)

    def update_dict(self, dict2):
        self.dict.update(dict2)
        print(self.dict)


dict = dictclass({'name': 'zhangming', 'sex': 'F', 'age': 20, 'score': [69, 88, 100]})
dict2 = {'grade': 'junior'}
dict.get_key()
dict.del_dict('sex')
dict.update_dict(dict2)
5. 定义一个列表的操作类:Listinfo
包括的方法:
1 列表元素添加: add_key(keyname) [keyname:字符串或者整数类型]
2 列表元素取值:get_key(num) [num:整数类型]
3 列表合并:update_list(list) [list:列表类型]
4 删除并且返回最后一个元素:del_key()
list_info = Listinfo([44,222,111,333,454,'sss','333'])
class Listinfo():

    def __init__(self, li):
        self.li = li

    def add_key(self, keyname):
        self.li.append(keyname)
        print(self.li)

    def get_key(self, num):
        print(self.li[num])

    def update_list(self, list):
        self.li.extend(list)
        print(self.li)

    def del_key(self):
        del self.li[-1]


list_info = Listinfo([44, 222, 111, 333, 454, 'sss', '333'])
list_info.add_key('zhangming')
list_info.get_key(2)
list_info.update_list([1,2,3])
list_info.del_key()
6. 定义一个集合的操作类:Setinfo
包括的方法:
1 集合元素添加: add_setinfo(keyname) [keyname:字符串或者整数类型]
2 集合的交集:get_intersection(unioninfo) [unioninfo :集合类型]
3 集合的并集: get_union(unioninfo)[unioninfo :集合类型]
4 集合的差集:del_difference(unioninfo) [unioninfo :集合类型]
set_info = Setinfo(你要操作的集合)
class Setinfo():
    def __init__(self,set):
        self.set = set

    def add_setinfo(self,keyname):
        self.set.add(keyname)
        print(self.set)

    def get_intersection(self,unioninfo):
        print(self.set & unioninfo)

    def get_union(self,unioninfo):
        print(self.set | unioninfo)

    def del_difference(self,unioninfo):
        print(self.set - unioninfo)

set_info = Setinfo({1,2,3,4,5})
set_info.add_setinfo(9)
set_info.get_intersection({1,2,3})
set_info.get_union({2,3,7})
set_info.del_difference({1,2,3})

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

弓早早o_O

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值