面向对象导入、编程思想、类与对象的概念、创建、对象的实例化方法

本文介绍了Python中的面向对象编程思想,以人狗大战为例,阐述了类与对象的创建、对象实例化的方法。通过创建人和狗的类,定义攻击功能,并将数据与功能绑定,实现特定对象只能调用自己的攻击方法。同时,讨论了面向对象编程与面向过程编程的区别,以及如何查看和操作对象的属性。
摘要由CSDN通过智能技术生成

面向对象案例导入——人狗大战

1.创造出人和狗

person1 = {
   
    'name':'nana',
    'type':'汉子',
    'attack_val':2000,
    'life_val':2000
}
dog1 = {
   
    'name':'小黑',
    'type':'比特',
    'attack_val':200,
    'life_val':100
}
>>>当需要创造无数多个狗和人时,一个个写代码,代码太冗余了,并且定义任何狗的字典基本不变,我们就可以封装成函数

2.将定义的人和狗封装成函数,优化代码

def get_person(name,type,attack_val,life_val):
    person_obj = {
   
        'name':name,
        'type':type,
        'attack_val':attack_val,
        'life_val':life_val
    }
    return person_obj
p1 = get_person('nana','汉子',2000,2000)
print(p1)  # {'name': 'nana', 'type': '汉子', 'attack_val': 2000, 'life_val': 2000}

def get_dog(name,type,attack_val,life_val):
    dog_obj = {
   
        'name':name,
        'type':type,
        'attack_val':attack_val,
        'life_val':life_val
    }
    return dog_obj
d1 = get_dog('小黑','比特',200,100)
print(d1)  # {'name': '小黑', 'type': '比特', 'attack_val': 200, 'life_val': 100}
>>>需要让人和狗具备攻击的能力

3.定义两个函数让人和狗可以有攻击能力

def person_attack(person_obj,dog_obj):
    print(f'即将被攻击的狗:{
     dog_obj.get("name")}  当前生命值:{
     dog_obj.get("life_val")}')
    print(f"准备攻击的人:{
     person_obj.get('name')}  当前生命值:{
     person_obj.get('life_val')} ")
    person_obj['life_val'] -= dog_obj.get('attack_val')
    print(f"{
     person_obj.get('name')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值