gpt4 book ai didi

Python 等效于 ActionScript 的 apply()/call() 方法?

转载 作者:太空宇宙 更新时间:2023-11-04 07:24:24 26 4
gpt4 key购买 nike

我正在编写一个非常简单的函数,用于在我的 Django 项目中仅在应用程序处于 Debug模式时显示多个页面。在 AS3 中,您基本上可以使用该方法的调用或应用方法将方法参数应用于另一个方法。让我演示一下:

public function secureCall(...arguments):void {
if (SECURE == true) {
// reference the 'call' method below
call.apply(this, arguments);
} else {
throw new IllegalAccessError();
}
}

public function call(a:String, b:int, ...others):void {
// do something important
}

有没有办法在 Python 中做到这一点?我基本上想执行以下操作:

from django.views.generic.simple import direct_to_template

def dto_debug(...args):
if myapp.settings.DEBUG:
direct_to_tempate.apply(args)
else:
raise Http404

最佳答案

在定义一个函数时,你可以使用这样的表示法:

def takes_any_args(*args, **kwargs):
pass

args 将是位置参数的元组,kwargs 关键字参数字典

然后您可以使用这些参数调用另一个函数,如下所示:

some_function(*args, **kwargs)

如果您不想分别传递位置参数或关键字参数,则可以省略 *args**kwargs 中的任何一个。您当然可以自己创建元组/字典,它们不必来自 def 语句。

关于Python 等效于 ActionScript 的 apply()/call() 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7642226/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com