【问题标题】:Chaquopy not initializing classChaquopy 没有初始化类
【发布时间】:2019-05-30 23:07:18
【问题描述】:

使用 chaquopy for android 时,从 java 调用模块不会运行 __init__ 方法。

PyObject utilModule = py.getModule("utils.Utils").get("Utils");

在没有构造函数的情况下创建对 python 的对象引用。如果没有额外的“init”函数并在创建后调用它,有什么方法可以做到这一点?

【问题讨论】:

    标签: android chaquopy


    【解决方案1】:

    假设utils.Utils 是一个模块,Utils 是该模块中的一个类,那么您的代码只是获得对该类的引用。如果您想实际实例化该类,您可以这样做:

    PyObject utilObj = py.getModule("utils.Utils").callAttr("Utils");
    

    或者这个:

    PyObject utilClass = py.getModule("utils.Utils").get("Utils");
    PyObject utilObj = utilClass.call();
    

    如果要传递构造函数参数,只需将它们添加到callAttrcall的参数列表末尾即可。

    参见the documentation 中的ZipFile 示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-02
      • 2015-03-04
      • 1970-01-01
      • 1970-01-01
      • 2018-07-25
      • 1970-01-01
      • 2011-08-09
      • 2015-12-07
      相关资源
      最近更新 更多