python实例属性引用-python之对象(实例)

1.对象是关于类而实际存在的一个例子,即实例

#类实例化得到g1这个实例

class Garen:

camp="Demacia"

def __init__(self,nickname,aggressivity=58,life_value=455):

self.nickname=nickname #为自己的盖伦起个别名;

self.aggressivity=aggressivity #英雄都有自己的攻击力;

self.life_value=life_value #英雄都有自己的生命值;

def attack(self,enemy):

print("attack %s" % enemy)

g1=Garen("草丛伦")

1.1 对象的属性引用和绑定方法

(1)对象(实例)只有一种作用:属性引用

格式: 实例名.类的变量名

实例名.绑定方法

实例名.实例自己的变量名

print(g1.nickname)

print(g1.aggressivity)

print(g1.life_value)

输出结果为:

草丛伦

58

455

(2)对象的属性操作

查看属性信息

print(g1.nickname)

输出结果:

草丛伦

修改属性信息

g1.nickname="伦哥"

print(g1.nickname)

输出结果为:

伦哥

添加属性

g1.sex="female"

print(g1.sex)

输出结果为:

Female

删除属性:

del g1.sex

print(g1.sex)

输出结果为:

AttributeError: "Garen" object has no attribute "sex" #报错

(3)查看实例属性

同样是dir和内置__dict__两种方式

特殊实例属性

__class__

__dict__

(4)对象(实例)的绑定方法

对象本身只有数据属性,但是python的class机制会将类的函数绑定到对象上,称为对象的方法,或者叫绑定方法。

print(g1.attack) #对象的绑定方法

print(Garen.attack) #对象的绑定方法attack本质就是调用类的函数attack的功能,二者是一种绑定关系

输出结果为:

>

对象的绑定方法的特别之处在于:obj.func()会把obj传给func的第一个参数

1.2 对象的交互

仿照Garen类创建一个Riven类:

实例Riven类

交互:瑞雯攻击草丛伦

class Riven:

camp="Noxus"

def __init__(self,nickname,aggressivity=54,life_value=414):

self.nickname=nickname #为自己的瑞雯起个别名;

self.aggressivity=aggressivity #英雄都有自己的攻击力;

self.life_value=life_value #英雄都有自己的生命值;

def attack(self,enemy):

print("attack %s" % enemy)

enemy.life_value -= self.aggressivity

g1=Garen("草丛伦")

r1=Riven("瑞雯")

print(g1.life_value)

r1.attack(g1)

print(g1.life_value)

输出结果为:

455

瑞雯 attack 草丛伦

401

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值