python引用类属性_在Python 2.7中使用变量引用类属性

我正在开发基于文本的游戏,但是我还没有找到针对我的战斗系统的非常有效的解决方案.目前,我的语句设置如下:

class Weapon1:

damage = 4

price = 5

class Weapon2:

damage = 4

price = 5

class Enemy1:

damage = 2

health = 5

class enemy2:

damage = 3

health = 6

def fight():

Weapon = raw_input("What weapon would you like to use?")

if Weapon == "Weapon 1":

if enemy = "Enemy1":

Enemy1.health -= Weapon1.damage

else:

Enemy2.health -= Weapon1.damage

else:

if enemy = "Enemy1":

pass

else:

pass

我的敌人和类比这多得多,所以我想有一条语句可以使用变量引用类的属性.由于长度超过100行,我决定不上传实际功能.

我所追求的伪代码如下所示:

class pistol:

damage = 4

price = 5

class cannon:

damage = 4

price = 5

class Enemy1:

damage = 2

health = 5

class enemy2:

damage = 3

health = 6

def fight():

Weapon = raw_input("What weapon would you like to use?")

enemy.health -= weapon.damage

解决方法:

您可以使用一个简单的字典,在此处使用namedtuple使代码更易于阅读:

from collections import namedtuple

Weapon = namedtuple('Weapon', ['damage', 'price'])

weapons = {

'pistol': Weapon(4, 5),

'cannon': Weapon(4, 5),

# ...

}

def fight():

weapon_name = raw_input("What weapon would you like to use?")

enemy.health -= weapons[weapon_name].damage

标签:variables,python,class

来源: https://codeday.me/bug/20191120/2045625.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python 2.7引用库的方法如下所示: 1. 首先,确保已经安装了所需的库。可以使用pip命令来安装库,例如:pip install six。 2. 在代码使用import语句来引入所需的库。例如,要引用pyhive库,可以使用以下代码:from pyhive import hive。 3. 如果库的名称比较长或者希望使用一个简短的别名来引用库,可以使用as关键字来为库指定一个别名。例如,可以使用以下代码将pyhive库引用为ph:from pyhive import hive as ph。 4. 在代码使用引入的库来调用相应的函数或变量。例如,如果要调用pyhive库的get_connection函数,可以使用以下代码:connection = ph.get_connection()。 需要注意的是,Python并没有一种方法可以完全限制访问private函数或变量,但是从编程习惯上不应该直接引用private函数或变量。\[2\]此外,当在命令行运行一个模块文件时,Python解释器会将特殊变量__name__置为__main__,可以使用if __name__ == '__main__'来执行一些额外的代码,例如运行测试。\[4\] 希望这些信息对您有所帮助! #### 引用[.reference_title] - *1* [python2.7连接hive SASL](https://blog.csdn.net/weixin_42145354/article/details/125613656)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* *4* [使用模块 - 廖雪峰 Python 2.7 文教程](https://blog.csdn.net/weixin_28758189/article/details/114923951)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *5* [Python 2.7.X 开发文档-Python格式化输入与输出](https://blog.csdn.net/weixin_39564368/article/details/111547590)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值