zoukankan      html  css  js  c++  java
  • 78.添加和获取对象的属性

    添加和获取对象的属性

    class Hero(object):
        """定义了一个英雄类,可以移动和攻击"""
        def move(self):
            """实例方法"""
            print("正在前往事发地点...")
    
        def attack(self):
            """实例方法"""
            print("发出了一招强力的普通攻击...")
    
    # 实例化了一个英雄对象 泰达米尔
    taidamier = Hero()
    
    # 给对象添加属性,以及对应的属性值
    taidamier.name = "泰达米尔"  # 姓名
    taidamier.hp = 2600  # 生命值
    taidamier.atk = 450  # 攻击力
    taidamier.armor = 200  # 护甲值
    
    # 通过.成员选择运算符,获取对象的属性值
    print("英雄 %s 的生命值 :%d" % (taidamier.name, taidamier.hp))
    print("英雄 %s 的攻击力 :%d" % (taidamier.name, taidamier.atk))
    print("英雄 %s 的护甲值 :%d" % (taidamier.name, taidamier.armor))
    
    # 通过.成员选择运算符,获取对象的实例方法
    taidamier.move()
    taidamier.attack()

    问题:

    对象创建并添加属性后,能否在类的实例方法里获取这些属性呢?如果可以的话,应该通过什么方式?

    # # 名字 年龄 血量 攻击力
    # # 悟空
    # wk_dict = {"name": "悟空", "age": 500, "hp": 3000, "atk": 400}
    # wk_dict["test"] = "ceshi"
    # print(wk_dict["name"])
    # # 鲁班
    # lb_dict = {"name": "鲁班", "age": 100, "hp": 2300, "atk": 500}
    # print(lb_dict["age"])
    
    # 自定义英雄类
    class Hero(object):
        pass
    
    # 创建对象
    wk = Hero()
    # 添加属性
    # 格式: 对象名.属性名 = 数值
    wk.name = "悟空"
    wk.age = 500
    wk.hp = 3000
    wk.atk = 400
    # 获取属性
    print(wk.name)
    
    # 创建对象
    lb = Hero()
    # 添加属性 名字
    lb.name = "鲁班"
  • 相关阅读:
    BZOJ 3677: [Apio2014]连珠线 树形DP
    TweenMax说明
    vs 中快捷实现父类方法
    Box2d b2World的RayCast方法
    cocos2d-js 帧序列动画
    cocos2d-js 显示帧序列图中的一帧
    不同类型刚体接触测试
    FlashDevelop调试Air出错
    php 创建删除数据库
    本地php 连接 MySQL
  • 原文地址:https://www.cnblogs.com/kangwenju/p/12866483.html
Copyright © 2011-2022 走看看