python--面向对象(最全讲解)__学习笔记(1)

本文参考文章python面向对象(最全讲解)

附录上学习笔记代码。

class Person:   #定义一个人类
    role = 'person'  #人的角色属性都是人
    def __init__(self,name,aggressivity,life_value):
        self.name = name    #每一个角色都有自己的昵称
        self.aggressivity = aggressivity    #每一个角色都有自己的攻击力
        self.life_value = life_value        #每一个角色都有自己的生命值

    def walk(self):  #人都可以走路,也就是有一个走路方法,也叫动态属性
        print("person is walking...")

    def attack(self,dog):
        # 人可以攻击狗,这里的狗也是一个对象。
        # 人攻击狗,那么狗的生命值就会根据人的攻击力而下降
        dog.life_value -= self.aggressivity

class Dog:
    role = 'dog'

    def __init__(self,name,breed,aggressivity,life_value):
        self.name = name #每一只狗都有自己的昵称;
        self.breed = breed #每一只狗都有自己的品种
        self.aggressivity = aggressivity #每一只狗都有自己的攻击力
        self.life_value = life_value #每一只狗都有自己的生命值

    def bite(self,people):
        #狗可以咬人,这里的狗也是一个对象
        #狗咬人,那么人的生命值会根据狗的攻击力而下降
        people.life_value -= self.aggressivity


print(Person.role)  #查看人的role属性
print(Person.walk)  #引用人的走路方法,注意,这里不是在调用

egg = Person('egon',10,1000)

print(egg.name)
print(egg.aggressivity)
print(egg.life_value)
print(egg.walk())

#print(egg.attack())
ha2 = Dog('二愣子','哈士奇',5,500)  #创造了一只实实在在的狗ha2

#交互 egon 打 ha2 一下
print(ha2.life_value)       #看看ha2的生命值
egg.attack(ha2)             #egg打了ha2一下
print(ha2.life_value)       #ha2掉了10点血

运行结果:

person
<function Person.walk at 0x0000000001E83D08>
egon
10
1000
person is walking...
None
500
490

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

碰珺

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

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

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

打赏作者

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

抵扣说明:

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

余额充值