gpt4 book ai didi

Python:在单独的脚本中动态调用方法

转载 作者:行者123 更新时间:2023-11-30 23:08:11 24 4
gpt4 key购买 nike

我目前正在开发一个控制六足机器人的项目。我已经为单独的联合控制设置了脚本,并且运行良好。我为每条腿的关节 Controller 都有单独的脚本,leg_1_joint_control、leg_2_joint_control 等...,所有这些脚本都有 3 个用于每条腿上电机的 PID Controller ,称为 PID1、PID2 和 PID3。我想要做的是在我的leg_'leg_no'_joint_control.py 脚本中动态调用我的PID1,2&3 方法(其中'leg_no' 是支路编号[1 - 6]),而不必为每个支路编写单独的情况。

这是我的腿部控制代码的理想片段,可以尝试解释:

import leg_1_joint_control
import leg_2_joint_control
import leg_3_joint_control
...

def leg(args, leg_no):
...
e1[t] = leg_'leg_no'_joint_control.PID1(args)
...

和我的leg_'leg_no'_joint_control脚本

...
def PID1(args):
...
return ek

所以我想做的是,当我更改leg_no变量时,我想在相关腿的脚本中调用PID1。这可能吗?我尝试过 getattr() 等方法,但没有成功。

最佳答案

不要尝试对变量使用动态名称,这会导致开发上的麻烦和维护上的噩梦。只需使用数组:

import leg_1_joint_control
import leg_2_joint_control
import leg_3_joint_control
...

legs_joint_control = [ leg_1_joint_control, leg_2_joint_control, ... ]

def leg(args, leg_no):
...
e1[t] = legs_joint_control[leg_no].PID1(args)
...

关于Python:在单独的脚本中动态调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31837310/

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