首页 > 解决方案 > 如何将列表从一个函数传递给一个类中的多个函数?

问题描述

我正在尝试将两个列表传递给其他函数。在一个函数中,它正在执行,因为我正在使用 self 调用整个函数。但是我也不应该在另一个方法中调用相同的函数,因为 git clone 会发生两次。因此我需要将函数返回值传递给其他函数。有没有办法做到这一点?我在单节课中编写的总代码。

def open_close_lists(self):
    cmd = self.git_clone
    subprocess.check_output(cmd, shell=True)
    open_list = os.listdir('open')
    close_list = os.listdir('close')
    return open_list, close_list

我还有另外两个功能

def fun1(self):
    here I need to use those two lists
def fun2(self):
    here I need to use those two lists

标签: python

解决方案


在这里,我们创建一个类OpenCloseLists,并将这些列表绑定到当前实例。

现在可以使用self关键字获取列表。

注意:在 CamelCase 中命名类和使用下划线命名变量名是很常见的。

import os

class OpenCloseLists:
    def __init__(self):
        cmd = self.git_clone
        subprocess.check_output(cmd, shell=True)
        self.open_list = os.listdir('open')
        self.close_list = os.listdir('close')
      
    def fun1(self):
        # self.open_list
        # self.close_list
    
    
    def fun2(self):
        # self.open_list
        # self.close_list

推荐阅读