返回函数值而不是字符串

时间:2018-07-19 20:40:23

标签: python python-3.x

这很奇怪,但以前从未发生在我身上,所以我不知道我哪里错了。 我有这个脚本:

import PyEngine

PyEngine.init()

print(PyEngine.info.pack)

PyEngine的__init__目前是这样的:

import subprocess, sys
class init():
    def __init__(self):
        __checkp__ = subprocess.check_output([sys.executable, "-m", "pip", "freeze"])
        self.__packages__ = [r.decode().split("==")[0] for r in __checkp__.split()]
        self.__pack__ = " ".join(self.__packages__)

        print(self.__pack__)

        self.__info__ = info(self)

class info():
    def __init__(self, main):
        self.__pye__ = main

    def pack(self):
        return self.__pye__.__pack__

有了print(self.__pack__),我得到了:

Django Jinja2 MarkupSafe PyOpenGL PyTMX PyYAML Pygments Vector2D WMI attrs euclid future glsvg inputs keyboard pbr pyPEG2 pygame pyglet pygobject pyperclip pytz qutebrowser six stevedore tmx virtualenv virtualenv-clone virtualenvwrapper wheel

但是使用print(PyEngine.info.pack),我得到了:

<function info.pack at 0x0000000003072A60>

我听不懂...

此外,我想知道如果可以的话,我该如何使用超类。尽管在这个问题上已经尝试了很多次,但老实说,即使到现在,我仍然无法完全理解它的工作原理。

0 个答案:

没有答案