gpt4 book ai didi

Python:带方法的高阶函数

转载 作者:太空宇宙 更新时间:2023-11-04 10:23:57 25 4
gpt4 key购买 nike

<分区>

在 Python 中,是否可以像传递常规函数那样将方法传递给高阶函数?

例如,假设我有一个字符串“str”,并且根据某些条件“cond”,我想对字符串应用一些任意方法“meth”并返回它。在代码中:

def func(str, meth, cond):
...
if cond:
str.meth()
...

现在,我知道上面的方法行不通了。我也知道我可以写这样的东西:

def func(str, meth, cond):
...
if cond:
str = meth
...

然后像这样将我要执行的对象和方法传递给 func:func(str, str.capitalize(), cond)。上面的问题是:

  1. 上面的代码并没有把函数的意图说清楚。
  2. 例如,如果我想在应用该方法之前修改“str”,那么我最终会得到不正确的结果。考虑:

    def func(str, meth, cond):
    ...
    str += "a"
    ...
    if cond:
    str = meth
    ...

    不会按预期工作。

那么,回到最开始的地方:到底有没有办法完成我想要的?还是我完全从错误的方向来处理这个问题?

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