You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python类中如何从函数b访问函数a内的url_ls变量?

如何在Test类的b()方法中访问a()方法内的url_ls变量

你没法直接访问a()方法里定义的局部变量url_ls,因为它的作用域只限于a()内部。不过可以通过以下几种方式实现需求:

方法一:将url_ls改为实例属性

把url_ls定义为类实例的属性,这样同个实例的所有方法都能访问到它:

class Test():
    def a(self,dct,res_dct,lst):
        self.url_ls = []  # 改为实例属性
        # ... 原来的逻辑代码
        return self.url_ls
   
    def b(self):
        # 直接通过self访问url_ls
        print(self.url_ls)
        # ... 你的其他逻辑

注意:调用b()之前要先调用过a(),否则self.url_ls会不存在,可根据需求添加判断避免报错。

方法二:调用a()方法获取返回值

因为a()本来就返回url_ls,所以在b()里直接调用a()并传入所需参数,就能拿到这个列表:

class Test():
    def a(self,dct,res_dct,lst):
        url_ls = []
        # ... 原来的逻辑代码
        return url_ls
   
    def b(self):
        # 假设b()里能获取到dct、res_dct、lst这三个参数
        dct = ...  # 实际的dct值
        res_dct = ...  # 实际的res_dct值
        lst = ...  # 实际的lst值
        url_ls = self.a(dct, res_dct, lst)
        # 现在可以使用url_ls了
        print(url_ls)

如果b()里没有这些参数,可以考虑把它们也设为实例属性,或者在调用b()时传入对应值。

内容的提问来源于stack exchange,提问作者Joz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 11:00:46