gpt4 book ai didi

python - 如何在 Python 中将大量变量传入和传出函数?

转载 作者:太空狗 更新时间:2023-10-30 00:20:38 25 4
gpt4 key购买 nike

我做科学编程,经常想给用户提示和变量对,让他们编辑变量,然后用新变量做计算。我经常这样做,以至于我编写了一个 wxPython 类来将这段代码移出主程序。您为每个变量设置一个列表,其中包含变量类型(字符串、 float 、整数)、提示和变量的当前值。然后将所有这些列表放在一个大列表中,我的实用程序会创建一个格式整齐的 wxPython 面板,其中包含提示和可以编辑的当前值。

开始时,我只有几个变量,所以我会写出每个变量。

s='this is a string'; i=1; f=3.14
my_list=[ ['s','your string here',s], ['i','your int here',i], ['f','your float here'],]
input_panel = Input(my_list)

# the rest of the window is created, the input_panel is added to the window, the user is
# allowed to make choices, and control returns when the user hits the calculate button

s,i,f = input_panel.results() # the .results() function returns the values in a list

现在我想对很多变量(10-30)使用这个例程,这种方法正在崩溃。我可以使用 list.append() 语句在多行中为函数创建输入列表。但是,当代码从函数返回时,我得到了这个巨大的列表,需要将其解压缩到正确的变量中。这很难管理,看起来很容易让输入列表和输出列表不同步。更糟糕的是,它看起来很笨拙。

在 Python 中将大量变量和额外信息传递给一个函数以便对其进行编辑,然后取回这些变量以便我可以在程序的其余部分使用它们的最佳方法是什么?

如果我可以通过引用将变量传递给函数,那么用户可以更改或不更改它们,一旦程序从函数返回,我就会使用这些值。我只需要在多行上构建输入列表,并且输入列表不会与输出列表不同步。但是 Python 不允许这样做。

我是否应该将大列表分解成更小的列表,然后将它们组合成大列表以便传入和传出函数?还是这只会增加更多出错的地方?

最佳答案

最简单的事情就是创建一个类。该类将具有属性,而不是处理变量列表。然后您只需使用该类的单个实例。

关于python - 如何在 Python 中将大量变量传入和传出函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/912526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com