问题标签 [callable-object]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - STL 概念是否涵盖了 STL 算法的所有参数要求?
在查看某些算法的模板名称时,
我发现该名称对应于库概念。
以std::mismatch为例。
它需要一个BinaryPredicate
which 也是一个库的概念。
不过,看看其他算法,我看到:
- 一元谓词
- 一元函数
- 一元操作
- 二元运算
- ETC
他们没有对应的概念。
他们被排除在外是有原因的吗?
这些概念是否可以通过结合现有概念而得出?
python - 获取任何可调用对象的参数?
我有兴趣获得一种通用方法来获取可调用 Python 对象所采用的参数和关键字参数列表。对于具有该功能的功能,这是直截了当的inspect.getargspec
,例如:
但是,这在以下情况下会失败:
请注意,有一些方法可以获取偏函数和可调用对象的参数,即:
但如果可能的话,我想要一种更通用的方法来获得这些结果。
julia - 如何确定 Julia 对象是否可调用
在 Julia 中,确定对象是否可调用的最佳方法是什么?(例如,有没有类似 python 的callable
功能?)
编辑:这是人们希望的:
python - 函数调用和 __call__ 属性
Python 的可调用对象是具有__call__
方法的对象。它们大部分时间都是函数,但也可能是类实例。
但碰巧函数确实有__call__
方法。因此,__call__
方法也有__call__
方法。以下 REPL 会话显示我们可以链接__call__
s:
... 等等。值得注意的是,所有这些方法都有不同的地址。此外,它们都有相同的行为:
那么,当我写的时候print("a")
,实际上叫什么?是print
,还是print.__call__
?如果我Foo
用方法定义一个类__call__
怎么办?
此外,怎么可能每种__call__
方法都有自己不同 __call__
的方法?难道它们实际上是在我尝试访问它们时创建的吗?
python - 可调用类型的定义是什么?
背景:我试图理解为什么静态和类方法在作为描述符时不可调用,而类的普通方法(即既不是静态方法也不是类方法的类的方法)和不是类属性的函数都是描述符并且可以调用。
在 Python 中,可调用类型的定义是什么?
来自https://docs.python.org/3/reference/datamodel.html
可调用类型这些是可以应用函数调用操作(参见调用部分)的类型:
运算符是“函数调用操作”
()
吗?那么可调用类型是否定义为()
可以应用函数调用运算符的实例的类型?来自https://docs.python.org/3/reference/expressions.html#calls
主对象必须评估为可调用对象(用户定义的函数、内置函数、内置对象的方法、类对象、类实例的方法以及所有具有
__call__()
方法的对象都是可调用的)。这是否意味着可调用类型可能有也可能没有
__call__()
方法?如果一个类有一个__call__()
方法,那么它一定是一个可调用的类型吗?如果一个类没有__call__()
方法,那么它可能是也可能不是可调用类型?“自定义函数、内置函数、内置对象的方法、类对象、类实例的方法”没有
__call__()
方法吗?它们是可调用类型的实例吗?它们分别有哪些具体类型?
谢谢。
python - 在 Raspbian 上同时运行多个 python 版本
在 python 3.1 出现的时候,我有一些旧程序。在程序中,我经常使用 将Callable()
函数及其参数传递给我的 TKinter 应用程序:
现在我想再次使用我的程序,但callable
- 对象不见了。在网上,我发现这个功能在 python 3.2 中被删除了,没有一个替代品对我有用。
最后我决定重新安装python 3.1。但是,我不知道是否可以同时安装多个 python 3 版本,或者当我想使用这个特殊版本时如何为这个版本“创建”一个 shell 命令。
我的问题是:
- 是否有替换
Callable
- 已删除的对象? - 如何同时使用多个 python 版本?
- 如何创建匹配的 shell 命令?
python - 错误 str 不可调用
这是代码示例(python 3.6):
这会产生错误“str object is not callable”。但我不明白为什么?我正在处理更大的数字(整数),我需要先将它们转换为字符串,然后才能使用它们。我怎样才能做到这一点?
c++ - 如何检查模板参数是否是具有给定签名的可调用对象
基本上,我想要实现的是注册可调用(函数、lambda、带有调用运算符的结构)具有正确签名的编译时验证(可能带有很好的错误消息)。示例(static_assert
要填写的内容):
regex - 来自列值和正则表达式的 Pyspark 字符串模式
嗨,我有 2 列的数据框:
我想生成第三列,其中一个单词出现在文本中的 key_word 之前。
我试过这个,但它不工作
这是创建数据框示例的代码
templates - 如何根据对象的调用签名重载具有可调用对象作为参数的函数?
例如,给定以下代码
我想编写两个版本的fun
,一个适用于具有 A 签名的对象,另一个适用于具有 B 签名的对象:
我期待这种行为
当然,前面的例子在编译时会抛出一个模板重定义错误。
如果 B 是一个函数,我可以重写fun
为这样的:
但我想fun
同时使用函数和可调用对象。使用std::bind
或者std::function
可能会解决问题,但我使用的是 C++98,而这些是在 C++11 中引入的。