这很奇怪,但以前从未发生在我身上,所以我不知道我哪里错了。 我有这个脚本:
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>
我听不懂...
此外,我想知道如果可以的话,我该如何使用超类。尽管在这个问题上已经尝试了很多次,但老实说,即使到现在,我仍然无法完全理解它的工作原理。