gpt4 book ai didi

python - 动态修改 Python 方法和参数

转载 作者:行者123 更新时间:2023-12-03 16:49:10 24 4
gpt4 key购买 nike

我正在使用 Python,我从这里的参数的 REST 端点获得了一个定义:

https://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Network/ESRI_DriveTime_US/GPServer/CreateDriveTimePolygons?f=json

我想要做的是以下内容:

  • 创建一个名为:CreateDriveTimePolygons
  • 的函数
  • 添加输入参数
  • 引用类中可以处理这些输入的函数。
  • OnlineMethod(above_url).CreateDriveTimePolygons(Input_Location=(25,-34), Drive_Times="5,12,31")

    我可以用 setattr在 obj 上定义一个预制函数,但我的问题如下:
  • 如何更改方法的签名名称?
  • 如何修改方法的输入参数?

  • 谢谢

    目标是不使用 kwargs 或 args

    最佳答案

    您可以随时使用锤子固定显微镜 eval exec 动态编写 Python 代码。但在这种情况下,您将拥有 更多防止错误的责任。

    class A:
    def __init__(self):
    pass

    A.some_method = lambda self, x: print(x ** 2)

    a = A()
    a.some_method(20) # 400

    args = ['x', 'y', 'z']
    A.new_method = eval(f'lambda self, {", ".join(args)}: print(sum([{", ".join(args)}]))')
    a.new_method(1, 2, 3) # 6

    关于python - 动态修改 Python 方法和参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61277576/

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