练习34(类名称空间,对象名称空间)

练习34

# 公用模板,公共框架
class GameRole:
    rule = '游戏规则'

    def __init__(self, area, nickname, hp, ad):
        self.area = area
        self.nickname = nickname
        self.hp = hp
        self.ad = ad

    def attack(self):
        print('谁施展了一个攻击')

    def pen(self):
        self.pen = 10000
gailun = GameRole('德玛西亚', '草丛伦', 1000, 75)
yasuo = GameRole('艾欧尼亚', '托儿所', 500, 150)
penzi = GameRole('中国', '键盘侠', 10, 10000)
# pengzi.pen = 10000
penzi.pen()
print(penzi.__dict__)

# 1. 对象为什么能调用类中的属性与方法而且只是调用,不能改变 ?
# gailun.属性名 先从自己空间去找,没有此属性它会从通过类对象指针从类中去找,类中找不到,会从父类去找
# print(gailun.hp)
# gailun.attack = 666 # 给对象增加一个属性 attack = 666
# print(gailun.attack)
# print(gailun.__dict__)
# gailun.rule = gailun.rule # '游戏规则'
# gailun.rule = '游戏规则'
# 对象.属性名 = '游戏规则'
# print(gailun.rule)
# gailun.nickname = '盖伦'
# print(gailun.nickname)
# print(gailun.__dict__)
# 对象只能查看类中的属性,不能增删改类中的属性

# 2. 类能不能调用对象的属性 ? 不能


# print(GameRole.area)
# 3. 对象与对象之间可不可以相互调用 ?
# 同一个类实例化出来的对象之间不能互相访问
# 不同类形成的实例化对象有可能互相访问

# 给对象封装属性:__init__ 任意位置
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值