当前位置: 首页 > 面试题库 >

为什么在python中使用** kwargs?与使用命名参数相比,现实世界有哪些优势?

林劲
2023-03-14
问题内容

我来自静态语言的背景。有人可以(理想情况下通过示例)解释 使用 kwargs优于命名参数 的现实 优势** 吗?

在我看来,这似乎只会使函数调用变得更加模糊。谢谢。


问题答案:

实际示例:

装饰器-它们通常是通用的,因此您不能预先指定参数:

def decorator(old):
    def new(*args, **kwargs):
        # ...
        return old(*args, **kwargs)
    return new

您想使用未知数量的关键字参数进行魔术操作的地方。Django的ORM可以做到这一点,例如:

Model.objects.filter(foo__lt = 4, bar__iexact = 'bar')


 类似资料:
  • 问题内容: 用…实现事情 似乎 已经 很简单 了… 与 ngResource相比 ,使用Restangular 有哪些优点/缺点? 1.1.3 将返回承诺,并且可以使用[最新的PRcommit来实现。将来会提供支持来支持Restangular所做的其他动词吗?如果发生这种情况,Restangular似乎将消失并变得不耐烦。 问题答案: 我是Restangular的创建者。 我已经在自述文件中创建了

  • 问题内容: 前几天,我遇到了sun.misc.Unsafe软件包,并对它的功能感到惊讶。 当然,该类是未记录的,但是我想知道是否有充分的理由使用它。在需要使用它的地方会出现什么情况?在现实世界中如何使用它? 此外,如果您确实需要它,这是否表示您的设计可能存在问题? 为什么Java甚至包括此类? 问题答案: 例子 VM“化身”。即无锁哈希表中使用的CAS(比较和交换),例如:sun.misc.Uns

  • 问题内容: 我看了一下JPA 2.0 Criteria API,但是与Hibernate Criteria不同,我发现它太麻烦了。是否有充分的理由使用JPA 2.0 Criteria API而不是使用JPA-QL?感谢您的意见。 问题答案: 与Hibernate Criteria API一样,JPA 2.0 Criteria API特别适合 动态 构建查询,以处理查询结构根据运行时条件而变化的情况

  • 问题内容: 我最近一直在看Zookeeper,想知道当前是否有人在使用它,以及他们专门用于存储什么。 最常见的用例是用于配置信息,但是要存储哪种数据和存储多少数据? 问题答案: DOSGi 的Apache CXF实现使用zookeeper为其服务注册存储库。各个容器具有一个分布式软件(dsw)捆绑包,该捆绑包监听所有服务事件以及服务状态更改时的状态,该属性具有指示分发的属性。dsw与发现包进行通信

  • 问题内容: 有人可以告诉我为什么对node.js如此大惊小怪吗?与用php框架编写的常规网站相比,用node.js编写的常规网站(比如博客)是否更快?我知道用node.js编写的Web服务器将比apache快,但是不创建线程或类似对象的真实Web应用程序呢? 问题答案: 编辑: 有两个主要优点: 速度!(性能) Node.js是事件驱动和非阻塞的,并且非常擅长处理并发请求。 这是指向 Apache

  • 我现在正在学习spring,从目前所学的内容来看,NamedParameterJdbcTemplate似乎提供了与JdbcTemplate相同的功能,而且它允许您使用命名参数。 所以问题首先是,如果您可以始终使用NamedParameterJdbcTemboard,那么如果您最初不打算在DAO类中使用命名参数,但由于某种原因您决定使用它们,那么您将不需要调整整个DAO类? 现在第二个问题是,他们为