Python:类方法内的变量

2023-12-13

我正在学习 python,并尝试编写一个基于角色热区的伤口系统。这是我写的。别对我评价太多。

class Character:
    def __init__ (self, agility, strength, coordination):
            self.max_agility = 100
            self.max_strength = 100
            self.max_coordination = 100
            self.agility = agility
            self.strength = strength
            self.coordination = coordination

    def hit (self, hit_region, wound):
            self.hit_region = hit_region
            self.wound = wound

            #Hit Zones
            l_arm=[]
            r_arm=[]
            l_leg=[]
            r_leg=[]
            hit_region_list = [l_arm , r_arm, l_leg, r_leg]


            #Wound Pretty Names
            healthy = "Healthy"
            skin_cut = "Skin Cut"
            muscle_cut = "Muscle Cut"
            bone_cut = "Exposed Bone"

            hit_region.append(wound)              

john = Character(34, 33, 33)

john.hit(l_arm, skin_cut)

我希望 Skin_cut 输入被识别为“Skin Cut”,然后添加到 l_arm,我将其定义为列表。但是,我总是收到名称错误(l_arm 未定义)。如果我使用“wound”作为第一个参数重写该方法,则名称错误现在会出现“wound”未定义的情况。这告诉我这是我错过的课程结构中的一些东西,但我不知道是什么。


我改变了我之前的回答。

class Character:
def __init__ (self, agility, strength, coordination):
        self.max_agility = 100
        self.max_strength = 100
        self.max_coordination = 100
        self.agility = agility
        self.strength = strength
        self.coordination = coordination
        self.l_arm=[]
        self.r_arm=[]
        self.l_leg=[]
        self.r_leg=[]
        self.hit_region_list = [self.l_arm , self.r_arm, self.l_leg, self.r_leg]
        self.healthy = "Healthy"
        self.skin_cut = "Skin Cut"
        self.muscle_cut = "Muscle Cut"
        self.bone_cut = "Exposed Bone"

def hit (self, hit_region, wound):
        self.hit_region = hit_region
        self.wound = wound
        hit_region.append(wound)
        #Hit Zones



        #Wound Pretty Names




john = Character(34, 33, 33)

john.hit(john.l_arm,john.skin_cut)

print john.hit_region
print john.l_arm

运行上面的代码后我得到了这个输出

output:
['Skin Cut']
['Skin Cut']

根据帖子,我认为这就是您想要的。根据您之前的代码,您的声明只能在函数内部访问。现在,您可以通过在构造函数内声明它们来操作特定实例的数据和这些变量。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:类方法内的变量 的相关文章

  • 为什么我不能导入 geopandas?

    我唯一的代码行是 import geopandas 它给了我错误 OSError Could not find libspatialindex c library file 以前有人遇到过这个吗 我的脚本运行得很好 直到出现此错误 请注意
  • 如何使用pycaffe重构caffe网络

    我想要的是 加载网络后 我将分解一些特定的图层并保存新的网络 例如 原网 数据 gt conv1 gt conv2 gt fc1 gt fc2 gt softmax New net 数据 gt conv1 1 gt conv1 2 gt c
  • 用 Python 编写一个无操作或虚拟类

    假设我有这样的代码 foo fooFactory create 由于种种原因 fooFactory create 可能无法创建实例Foo 如果可以的话我想要fooFactory create 返回一个虚拟 无操作对象 这个对象应该是完全惰性
  • 在 python-docx 中搜索和替换

    我有一个包含以下字符串的文档 模板 你好 我的名字是鲍勃 鲍勃是一个很好的名字 我想使用 python docx 打开此文档并使用 查找和替换 方法 如果存在 来更改每个字符串 Bob gt Mark 最后 我想生成一个新文档 其中包含字符
  • 无法包含外部 pandas 文档 Pycharm v--2018.1.2

    我无法包含外部 pandas 文档Pycharm v 2018 1 2 例如 numpy gt http docs scipy org doc numpy reference generated module name element na
  • Python:当前目录是否自动包含在路径中?

    Python 3 4 通过阅读其他一些 SO 问题 似乎如果moduleName py文件位于当前目录之外 如果要导入它 必须将其添加到路径中sys path insert 0 path to application app folder
  • VSCode pytest 测试发现失败

    Pytest 测试发现失败 用户界面指出 Test discovery error please check the configuration settings for the tests 输出窗口显示 Test Discovery fa
  • 在wxpython中使用wx.TextCtrl并在按钮单击后显示数据的简单示例 - wx新手

    我正在学习 python 并尝试使用 wxpython 进行 UI 开发 也没有 UI exp 我已经能够创建一个带有面板 按钮和文本输入框的框架 我希望能够在文本框中输入文本 并让程序在单击按钮后对输入框中的文本执行操作 我可以获得一些关
  • 字典的嵌套列表

    我正在尝试创建dict通过嵌套list groups Group1 A B Group2 C D L y x 0 for y in x if y x 0 for x in groups d k v for d in L for k v in
  • 根据位置计算组合

    我在解决这个问题时遇到了麻烦 创建一个函数 给定字符集 C 可以生成第 N 个组合 或者返回给定起始位置 Ns 和结束位置 Ne 以及组合的最大长度 Mx 的一系列组合 一个具体的例子 令 C A B C 我们知道不同的组合将如下所示 假设
  • 字典中列表中仅有的几个索引的总和

    如果我有这种类型的字典 a dictionary dog white 3 5 black 6 7 Brown 23 1 cat gray 5 6 brown 4 9 bird blue 3 5 green 1 2 yellow 4 9 mo
  • 负整数的Python表示

    gt gt gt x 4 gt gt gt print b format x x 4 100 gt gt gt mask 0xFFFFFFFF gt gt gt print b format x mask x mask 4294967292
  • 如何逐像素绘制正方形(Python,PIL)

    在空白画布上 我想使用 Pillow 逐像素绘制一个正方形 我尝试使用 img putpixel 30 60 155 155 55 绘制一个像素 但它没有执行任何操作 from PIL import Image def newImg img
  • python中的sys.stdin.fileno()是什么

    如果这是非常基本的或之前已经问过的 我很抱歉 我用谷歌搜索但找不到简单且令人满意的解释 我想知道什么sys stdin fileno is 我在代码中看到了它 但不明白它的作用 这是实际的代码块 fileno sys stdin filen
  • 从 SpatialPolygons 和其他 sp 类中提取要素坐标

    Package sp为不同的空间概念 点 线 多边形 提供了许多类 对于某些类 访问要素坐标很简单 例如SpatialLines 所有示例均取自相应课程的帮助页面 l1 cbind c 1 2 3 c 3 2 2 l1a cbind l1
  • 是否可以强制浮点数的指数或有效数匹配另一个浮点数(Python)?

    这是我前几天试图解决的一个有趣的问题 是否可以强制一个的有效数或指数float与另一个人一样float在Python中 出现这个问题是因为我试图重新调整一些数据 以便最小值和最大值与另一个数据集匹配 然而 我重新调整后的数据略有偏差 大约小
  • CSV 在列中查找最大值并附加新数据

    大约两个小时前 我问了一个关于从网站读取和写入数据的问题 从那时起 我花了最后两个小时试图找到一种方法来从输出的 A 列读取最大日期值 将该值与刷新的网站数据进行比较 并将任何新数据附加到 csv 文件而不覆盖旧的或创建重复项 目前 100
  • Pandas 在特定列将数据帧拆分为两个数据帧

    I have pandas我组成的 DataFrameconcat 一行由 96 个值组成 我想将 DataFrame 从值 72 中分离出来 这样 一行的前 72 个值存储在 Dataframe1 中 接下来的 24 个值存储在 Data
  • 从 dask 数据框中的日期时间序列获取年份和星期?

    如果我有一个 Pandas 数据框和一个日期时间类型的列 我可以按如下方式获取年份 df year df date dt year 对于 dask 数据框 这是行不通的 如果我先计算 像这样 df year df date compute
  • 将 Scikit-Learn OneHotEncoder 与 Pandas DataFrame 结合使用

    我正在尝试使用 Scikit Learn 的 OneHotEncoder 将 Pandas DataFrame 中包含字符串的列替换为 one hot 编码的等效项 我的下面的代码不起作用 from sklearn preprocessin

随机推荐

  • 阅读 SICP 时使用什么解释器? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我正在阅读 SICP 书 网址为http mitpress mit edu sicp 要运行示例代码 我应该使用哪个解释器 我考虑过 Eclipse 的 Dandelion Lisp
  • 修改j2me midlet

    我想更改开源应用程序中的一些字符串 测试目的 所以我使用 jad 反编译器反编译我的应用程序 原始类文件http dl dropbox com u 32657135 YourTube class 发出命令Jad exe Yourtube j
  • 具有多个规则的 jQuery 表单验证插件

    我正在使用 jQueryValidation 插件 Problem 我想在一个输入字段中使用多个模式规则 例如 form validate rules email required true email true password requ
  • 每季度生成日期序列

    我想生成一个日期序列one quarter间隔 具有开始日期和结束日期 我有以下代码 gt seq as Date 1980 12 31 as Date 1985 06 30 by quarter 1 1980 12 31 1981 03
  • 在手机间隙运行 https 请求

    我正在iPhone中开发phone gap应用程序 我想使用JQuery getJSON url function 访问https json 请求 但仅在应用程序中它不会返回任何内容 但在正常的移动Safari中它工作正常 尽管它在phon
  • 如何使用 watchOS 2 SDK 构建应用程序

    在上次提交申请时 我们收到了此警告 WatchKit 支持无效 从 2018 年 4 月 1 日开始 提交到 Apple Watch App Store 的所有应用程序都必须使用 watchOS 2 SDK 或更高版本构建 检查您的部署目标
  • 仅沿第三维在 3D 逻辑数组中使用 Matlab“查找”

    我有一个 3D 逻辑数组 例如 A randi 0 1 x y z 其中 x y z 是整数 有没有办法找到每个 x y 沿第三维 z 的第一个真值 我可以像这样循环执行 B zeros x y for ix 1 x for iy 1 y
  • 如何将自定义ListAdapter设置为appwidget中的列表视图?

    我有一个列表视图 我需要为每个列表项提供一个自定义视图 因此我创建了一个自定义 ListAdapter 它提供了视图和布局 如下所示 但是如何使用 RemoteViews 将这个 listAdapter 设置为小部件中的 ListView
  • 程序集编号转 ascii

    我正在使用 intel 上的 at t 语法来处理汇编程序 我迷路了 如何将寄存器中的整数转换为 ASCII 数字 假设我想转换数字 10 我会将数字 10 放入寄存器 eax 中 如果我只是将数字 48 添加到 eax ascii 符号将
  • ZipArchive::close():读取错误:是一个目录

    我试图找出这个问题 但我无法想象为什么它一直发生 我正在将文件添加到 ZipArchive 当我尝试关闭它时 它收到目标是目录的错误 但我很确定事实并非如此 这是 zip 函数的代码 function create zip folder d
  • 打算打开Goog​​le身份验证器

    有没有办法通过 Intent 打开 Google Authenticator 如果是 是否可以使用已填充的密钥来打开它 以使其对用户实用 我有一个更通用的代码 因此 您只需将包名称作为参数发送给方法openApp Context conte
  • Meteor.js 应用程序模板中的多重收益

    我在布局文件中有一个用于iron router的通用 gt yield 它渲染我的页面 这些页面是模板 在我的一个页面中 我有一个侧面菜单 根据此菜单中的选择 我想在此页面中加载与此页面相关的不同模板 我怎样才能实现这个目标 我用iron
  • 使用 Matplotlib 绘制字典中的日期和关联值

    我有一本包含 Python 实例的字典datetime date和相关的数值 整数 类似这样的东西 但当然要大得多 datetime date 2016 5 31 27 datetime date 2016 9 1 87 我正在尝试使用 M
  • Jackson 动态更改 JsonIgnore

    我有一个类 里面也有变量 有时我想忽略某些字段 有时在反序列化时不想忽略 也许也在序列化时 我怎样才能在杰克逊做到这一点 对于序列化 过滤属性 博客文章应该有所帮助 反序列化方面的支持较少 因为更常见的是想要过滤掉写入的内容 一种可能的方法
  • 列表视图的自定义滚动条

    I have a task to create a custom scrollbar for list view and to my knowledge the way you can customize your scrollbar is
  • 解决 MySQL“无法重新打开表”错误

    我目前正忙于实现一个过滤器 我需要为每个要过滤的 标签 生成一个 INNER JOIN 子句 问题是 在执行完一大堆 SQL 之后 我有一个表 其中包含进行选择所需的所有信息 但对于每个生成的 INNER JOIN 我再次需要它 这基本上看
  • 如何为气泡设置边界并根据命令触发移动?

    我在 D3 中有一个气泡图 我用它来显示每组有多少个气泡 这个版本一开始有大约 500 个气泡 我的完整版本有大约 3 000 个 我在二维中挣扎 我试图让气泡在不在状态之间转换时保持原状 并且我还试图让气泡创建矩形形状 这是一个demo的
  • 表单完成后 PHP 重定向

  • 如何检查 Linux shell 上是否设置了“s”权限位?还是珀尔?

    我正在编写一些脚本来检查是否为特定文件设置了 s 权限位 例如 我的文件的权限如下 drwxr s 如果设置了该位 如何检查 bash 脚本或 perl 脚本 如果你使用 perl 那么看看perldoc u File has setuid
  • Python:类方法内的变量

    我正在学习 python 并尝试编写一个基于角色热区的伤口系统 这是我写的 别对我评价太多 class Character def init self agility strength coordination self max agili