Python Pygal图表库令人沮丧的是甚至不能定义函数

2024-05-20 18:42:54 发布

您现在位置:Python中文网/ 问答频道 /正文

耶稣基督Python是我见过的最神秘的Python。在

由于某些原因,我甚至不能向这个类添加函数(包含在项目中,而不是库的一部分)。Pygal使用某种“Ghost”类来完成screw-me。在

考虑下面的Line类,它只能通过black magic实例化,即:皮加尔线(配置)

class Line(Graph):
    """Line graph"""

    strum_count_dict = {}

    def __init__(self, *args, **kwargs):
        self._self_close = False
        super(Line, self).__init__(*args, **kwargs)

看起来很直截了当?在

这是一些最棒的课程。在

^{pr2}$

以及pygal的init

    __version__ = '1.1.0'
import sys
from pygal.config import Config
from pygal.ghost import Ghost
from pygal.graph import CHARTS_NAMES

CHARTS = []
CHARTS_BY_NAME = {}

for NAME in CHARTS_NAMES:
    _CHART = type(NAME, (Ghost,), {})
    CHARTS.append(_CHART)
    CHARTS_BY_NAME[NAME] = _CHART
    setattr(sys.modules[__name__], NAME, _CHART)


__all__ = CHARTS_NAMES + [Config.__name__, 'CHARTS', 'CHARTS_BY_NAME']  # @UndefinedVariable

将函数添加到行.py文件显示:

AttributeError:“Line”对象没有属性“set\u extra_data”

即使是像往常一样定义:

def set_extra_data(self):
    print "--> FML Python"

有人知道这里发生了什么吗?在


Tags: 函数namefromimportselfbynamesinit