如何将函数结果传递给元组?

2024-04-27 05:46:02 发布

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

我正在做一个Python/Django/Wagtail项目,在某个时候我有一个类似这样的类:

class SuperClass(BaseClass):

    body = StreamField([
        ('overview_speakers', OverviewSpeakers()),
    ])

    def some_function():
        return 'Hola'

OverviewSpeakers是一个需要参数的类,我想尝试传递一些函数()的结果

我两个都试过了:

body = StreamField([
    ('overview_speakers', OverviewSpeakers(self.some_function())),
])

以及

body = StreamField([
    ('overview_speakers', OverviewSpeakers(SuperClass.some_function())),
])

但是它分别叫喊着没有定义self超类。你知道吗

我能做些什么来传递函数的结果?你知道吗


Tags: 项目djangoselfdefoverviewfunctionbodysome
2条回答

不能引用正在定义的类,但可以在定义后向其添加属性。所以这应该有效:

class SuperClass(BaseClass):
    def some_function():
        return 'Hola'

SuperClass.body = StreamField([
    ('overview_speakers', OverviewSpeakers(SuperClass.some_function())),
])

看看这个:

class SuperClass(BaseClass):

    def some_function():
        return 'Hola'

    body = StreamField([
        ('overview_speakers', OverviewSpeakers(some_function())),
    ])

相关问题 更多 >