如何使用类中的函数创建字典?

时间:2019-04-11 11:53:50

标签: python python-3.x

我有一个这样的班级:

class example:
    def func1:
        print('bla bla')

    def func2:
        print('bla bla 2')

现在,我想要一个包含类中所有功能的字典:

{'func1': <function example.func1 at 0xBLABLA>,
'func2': <function example.func2 at 0xBLABLA2>}

我认为这是指针,但我不知道。

我不想手动创建字典。它应该是自动创建的。

那我该怎么做?

2 个答案:

答案 0 :(得分:1)

这样做,只会过滤__dict__类中的可调用项:

>>> {k:v for k,v in Example.__dict__.items() if callable(v)}
{'foo1': <function Example.foo1 at 0x7fe2ce405840>, 'foo2': <function Example.foo2 at 0x7fe2cb304ea0>}

答案 1 :(得分:1)

首先,类名以大写字母开头;而函数需要具有<a href="#" class="m-nav__link m-dropdown__toggle" data-role="update"> <span class="m-nav__link-badge badge badge-square badge-danger"> <?php echo $count; ?> //This var is just a badge w/ a number of notifications </span> <span class="m-nav__link-icon"> <i class="flaticon-music-2"></i> </span> </a> 参数或将其标记为include_once("../app_config.php"); $read = $_POST['read']; if ($read='Y') { $conexaon = new Connection(); $sqlu = "UPDATE tbl_prinotificacao SET pn_unread = 'N' ORDER BY pn_datetime desc"; $resultu = $conexaon->consulta($sqlu); if($resultu){ echo 'data updated'; } } ,这仍然需要您添加括号,如下所示。

self

手册-实现您想要的功能的补充:

static

输出:

class Example:
    def func1(self):
        print('bla bla')

    def func2(self):
        print('bla bla 2')

自动-添加以实现您想要的功能:

my_functions = {
    Example.func1,
    Example.func2
}

print(my_functions)

输出:

{<function example.func2 at 0x7fc5f160e620>, <function example.func1 at 0x7fc5f160e6a8>}