在Python中的for循环外引用for循环项

2024-04-26 18:35:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图通过生成更小的函数来分解我的巨大函数,然后在主函数中调用这些函数。你知道吗

我遇到的问题是,这个大函数几乎完全是一个for x in list循环,我需要在整个函数中引用x。你知道吗

如果我把代码分开,调用一个包含x的函数,x就不会被识别。有什么办法可以避免吗?你知道吗

我知道对于一个变量,你可以使它全局化,但这不是一个变量。你知道吗

编辑: 谢谢你们的快速回复!下面是我的意思的一个例子:

def func():
  for item in L:
    if varA == 1:
      var1 = "Hello"
    if varB == 1:
      var2 = "World"

我想要的是:

def minifunc1():
  var1 = "Hello"
def minifunc2():
  var1 = "World"

def func():
  for item in L:
    if varA == 1:
      minifunc1()
    if varB == 1:
      minifunc2()

非常感谢!你知道吗


Tags: 函数inhelloforworldifdefitem
1条回答
网友
1楼 · 发布于 2024-04-26 18:35:19

您可以在Python中创建一个class对象,并具有多个访问/修改特定属性的方法:

class PROJECT(object):

    def __init__(self, alist):
        """
        Instantiate a class object with a single list of numbers
        """ 

        self.alist = alist
        self.result = None

    def multiply(self, value):
        """
        Multiply each element of the list by the value and store it in result
        """

        self.result = [x * value for x in self.alist]

        return 

    def add(self, value):
        """
        Add to each element of the list the passed value and return the list
        """

        return [x + value for x in self.alist]

if __name__ == "__main__":
    l = [1, 2, 3, 4]
    test = PROJECT(l)
    test.multiply(5)
    test.add(10)

相关问题 更多 >