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

是否可以部分应用不带关键字参数的函数的第二个参数?

宦博雅
2023-03-14
问题内容

以python内置pow()函数为例。

xs = [1,2,3,4,5,6,7,8]

from functools import partial

list(map(partial(pow,2),xs))

>>> [2, 4, 8, 16, 32, 128, 256]

但是我如何将xs提高到2的幂?

要得到 [1, 4, 9, 16, 25, 49, 64]

list(map(partial(pow,y=2),xs))

TypeError: pow() takes no keyword arguments

我知道列表理解会更容易。


问题答案:

根据文档,
不能
这样做(强调我自己):partial
__


部分参数

最左边的 将被前置到位置参数位置参数

您总是可以“修复”pow以使用关键字args:

_pow = pow
pow = lambda x, y: _pow(x, y)


 类似资料:
  • 问题内容: 渲染时捕获到异常: 找不到带有参数’()’和关键字参数’{}’的’products.views.’filter_by_led’。 我能够从shell成功导入,并且可以正常工作,因此路径应该正确。 这是urls.py: 这是生成错误的地方: 我不明白,因为这可以在同一个文件中正常工作: 这是函数定义: 我不明白为什么Django会认为该函数无法为该函数找到Reverse。 我删除了所有文

  • 本文向大家介绍python函数参数(必须参数、可变参数、关键字参数),包括了python函数参数(必须参数、可变参数、关键字参数)的使用技巧和注意事项,需要的朋友参考一下 ps:下面给大家介绍下python中函数、方法、关键字的区别 一、关键字 二、函 数   函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。可以自己定义一个函数。   --函数-封装了独立功能,可以直接调用   

  • 问题内容: 我有一个字典,我需要将键/值作为关键字参数传递..例如。 这可以正常工作, 但是 如果d_args字典中有一些函数不接受的值,则它显然会消失。.说,如果将示例函数定义为 这是一个问题,因为我无法控制或函数的生成。它们都来自外部模块,并且仅接受dict中的某些关键字参数。 理想情况下,我会做 我可能只是从有效的关键字参数列表中过滤出dict,但我想知道: 是否有一种方法可以以编程方式列出

  • 问题内容: 我有这样的网址格式: 它在浏览器中可以正常工作,但是当我在外壳中执行此操作时,可以进行测试: 我感到恐惧: 我在这里想念什么? 问题答案: 你必须指定

  • 问题内容: 假设我通过创建共享对象并使用LD_PRELOAD首先加载它来替换函数。是否有可能使该功能的参数不同于原始库中的参数? 例如,如果我替换 pthread_mutex_lock ,这样它将代替参数 pthread_mutex_t 而是使用 pthread_my_mutex_t 。可能吗? 其次,除了函数之外,是否可以使用LD_PRELOAD更改结构声明?例如,可以向结构中增加一个字段。 问

  • 如果你的某个函数有许多参数,而你只想指定其中的一部分,那么你可以通过命名来为这些参数赋值——这被称作 关键参数 ——我们使用名字(关键字)而不是位置(我们前面所一直使用的方法)来给函数指定实参。 这样做有两个 优势 ——一,由于我们不必担心参数的顺序,使用函数变得更加简单了。二、假设其他参数都有默认值,我们可以只给我们想要的那些参数赋值。 使用关键参数 例7.6 使用关键参数 #!/usr/bin