python - 如何堆叠多个调用?
问题描述
我在一个 python 类中,其中一项任务是创建一个可以“链接”多个调用的函数。例如,我有一个函数,比如说。我可以写 say() 并且什么都不会返回。我可以写 say('hi')() ,它会返回 'hi'。我可以写 say('hi')('my')('name')('is')('joe') ,它会返回 'hi my name is joe'。我很确定我们应该使用高阶函数,但我无法理解它,到目前为止我尝试过的肯定是不正确的:
sayString = ""
say(x):
compose sayHelp(x)
def sayHelp(x):
global sayString
return sayString + x
def compose(f, g):
return lambda x: f(x)+g(x)
不太确定该怎么做,我知道它不起作用,因为它试图调用 str 函数而不是说,但是我如何让它识别呢?
解决方案
推荐阅读
- javascript - 如何使用 React-query 通过按钮触发请求?
- lua - 为什么我的列表会清除/丢失其内容?[罗布乐思]
- pdf - pandoc 是否可以选择在每个“工作表”中放置多个“页面”?
- python - 转换期间在第 29 列中发现未知类别 ['3']
- foreach - 循环通过 Twilio CallResource 对象花费的时间太长
- java - 同步共享计数器是否需要“易失性”?
- python - 尝试在python中下载资源时出错
- next.js - 添加 next-pwa og:tags 在 next.js 中不起作用后
- python - Pandas 根据列值删除和更新行和列
- sql - 如何根据 id 列表在 SQL 中动态创建列