Python:如何修复我的代码以便追加将参数添加到列表中?

2024-04-09

我对 python 很陌生,我一直在尝试执行此代码,其中我使用 tkinter 按钮命令来运行函数,它可以工作,但append() 没有执行,这意味着它不会附加到列表中。

列表和包含附加的函数位于类外部,然后通过使用 tkinter 按钮命令在类内进行分类

我尝试将函数放入类中,它可以工作,但附加不会再次添加到列表中。

这是我编写的代码,与真实代码有些相似

prices = []

f = True
class firstclass():
    def __init__(self):
        while f == True:
            my_function()
            f = False

def my_function():
    prices.append(70)


class secondclass():

    def __init__(self):
        pass

    print(sum(prices))

真实代码的示例在此链接中,请也考虑这一点python:将值附加到类外部的列表,带有附加功能的函数也在类外部,但函数在类内调用 https://stackoverflow.com/questions/57015203/python-appending-a-value-to-a-list-outside-the-class-function-with-append-also

我预计它会打印附加值 70,但它仍然打印 0


您需要处理一些问题。第一次分配f=True类外部不会改变内部的值,所以如果你实例化该类,它只会抛出一个UnboundLocalError抱怨 f 未初始化。您可以通过实例化该类来自己尝试

fc = firstclass()

如果没有实例化,你就没有希望它为你提供你想要的值。由于函数 Secondclass 的打印语句不包含在方法中,因此它打印零,因此它打印该值sum(prices)该类被声明。该值来自价格的原始申报值,即[]。至少这就是您在问题中所展示的方式。我不确定您是否打算缩进打印语句,这意味着它是二等的一部分。但是,如果您没有缩进,您将得到与尚未实例化第一类相同的结果。

要纠正此问题,请参见下文。此代码将按照您的预期输出 70。

prices = []

class firstclass():
    def __init__(self):
        my_function()

def my_function():
    prices.append(70)

class secondclass():
    def __init__(self):
        pass

print('before instantiation', sum(prices))
fc = firstclass()
print('after instantiation', sum(prices))

fc 现在是类型的对象firstclass__init__方法已调用my_function将值 70 附加到prices.

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

Python:如何修复我的代码以便追加将参数添加到列表中? 的相关文章

随机推荐

  • 如何使用鼠标改变OpenGL相机

    我正在尝试在 OpenGL 中设置一个相机来查看 3 维中的一些点 为了实现这一点 我不想使用旧的 固定的功能样式 glMatrixMode glTranslate 等 而是自己设置模型视图投影矩阵并在我的顶点着色器中使用它 正交投影就足够
  • 无法从 Activity 调用 getSupportFragmentManager()

    我有一个有片段的活动 XML
  • woocommerce 下订单前检查邮政编码

    由于本地送货是唯一的选择 由于产品送货限制 我不希望客户进入结帐页面并必须填写他们的所有详细信息 然后才发现我们没有送货到他们的邮政编码 因此 我需要在结帐页面上进行与本地配送邮政编码检查相同的功能 但要在结帐过程的早期阶段添加 例如在购物
  • 何时实现接口以及何时扩展超类?

    我读了很多关于 Java 中的接口和类继承的文章 我知道如何做到这两点 并且我认为我对两者都有很好的感觉 但似乎没有人真正将两者并排比较 并解释何时以及为何要使用其中之一 我没有发现很多时候实现接口会比扩展超类更好 那么什么时候实现接口以及
  • 打开屏幕键盘

    我如何从我的应用程序中打开所有 Mac OS X 中内置的键盘查看器 在 10 5 及更早版本中 这是它的路径 因此只需像平常一样启动它即可 System Library Components KeyboardViewer componen
  • render 在 useEffect 之前调用

    我正在尝试使用 React 和 Leva js 创建一个简单的应用程序 基本上有一个项目数组 每个项目都有一个名称和一个数字数组 Leva 面板包含两个选择 用户可以从项目数组中选择两个项目 如果两个选定的项目具有相同的长度 则可以 否则应
  • 以编程方式将可绘制对象设置为背景

    编辑 抱歉 我从您的评论中意识到我的问题不够清楚 我将发布一个新的 对此深表歉意并感谢您的回答 我正在从 Json 文件填充 ListView With my 列表适配器 我可以轻松地将适当的 json 数据分配给列表的每一行 这对于文本很
  • 为什么浏览器中的 mocha 会抛出从 url 检测到的全局泄漏,而不是从 unc 路径检测到的全局泄漏?

    我正在创建一个 javascript 库并想要使用 BDD 所以我尝试了 mocha 但无法使其工作 我希望在客户端上使用该库 因此我假设让它从可浏览的 url 运行 在 Web 连接的上下文中运行是有意义的 而不仅仅是来自 unc 路径的
  • 用于分布式 DB2 数据库的 Spring Batch Reader

    我正在尝试使用 Spring 批处理框架编写一个作业 作业需要从集群 db2 数据库获取数据 对每个获取的记录调用一些逻辑 然后将转换后的数据存储在同一个数据库中 与读取数据的表不同 我正在尝试写step1如下 Bean public St
  • Mysql 之间和等于在哪里?

    我有一个mysql函数 SELECT FROM stats WHERE BETWEEN 2011 01 03 AND 2011 01 01 AND email email protected cdn cgi l email protecti
  • 如何捕获回击后返回活动的事件

    我的应用程序有一个主屏幕 然后会进入不同的屏幕 每个屏幕都会返回主屏幕 每次用户 返回 主屏幕时我都想做一些事情 我如何捕获这种事件 在您的主活动中使用 onResume 方法或通过重写子活动中的 keyDown 方法在您的活动中使用 st
  • 如何将 Firebase 数据库持久性存储限制为仅某些节点?

    将以下代码添加到AppDelegate将使 Firebase 数据库在用户离线时可用 FIRDatabase database persistenceEnabled true 我们怎样才能使数据库的某些部分在离线模式下可用 而另一些部分在用
  • 获取纸质单选按钮的值

    我有以下代码
  • UITableview 中的自动布局与动态单元格高度

    对于我的表格视图单元格的动态高度 我从此链接中引用 在 UITableView 中使用自动布局来实现动态单元格布局和可变行高 https stackoverflow com questions 18746929 using auto lay
  • Grails 和子域

    Grails 知道有关子域 即 subdomain domain com 的任何信息吗 我没有看到它在manual http grails org doc 2 0 x guide single html 这纯粹是应用程序服务器 网络服务器问
  • Pygame.mixer 模块丢失?

    我正在尝试为朋友制作一个小程序 它需要运行 wav 文件 当我在 python 中运行它时它工作正常 但是当我在 py2exe 中编译它时它给了我这个 gt phone exe 23 RuntimeWarning use mixer DLL
  • 函数参数的模式匹配

    我有一个元组向量 val l for i lt 1 to 5 yield i i 2 Vector 1 2 2 4 3 6 4 8 5 10 我想用以下方式总结一下 l reduce x y gt x 1 y 1 x 2 y 2 15 30
  • C++ 链接错误

    我有多个通过 hxx 头文件和继承连接的类 这都是关于操作系统模拟的 我单独编译它们 看看是否有任何语法错误 但事实并非如此 相反 当我编译主驱动程序 osTester cxx 时 我得到这样的链接错误 include
  • 有没有办法直接消耗人造丝链而不先收集它?

    我使用 Rayon 来产生相当大的返回值 将所有返回值收集到一个中时 这会使用大量内存Vec 有没有办法避免创建Vec并直接作为可迭代对象使用 这是一个不起作用的示例 fn main let numbers Vec lt gt 12 03
  • Python:如何修复我的代码以便追加将参数添加到列表中?

    我对 python 很陌生 我一直在尝试执行此代码 其中我使用 tkinter 按钮命令来运行函数 它可以工作 但append 没有执行 这意味着它不会附加到列表中 列表和包含附加的函数位于类外部 然后通过使用 tkinter 按钮命令在类