
按键只能子程序内部跳转,不支持直接跳转到另一个子程序里面,有没有帮忙解决 c装成dll给按键用也行 看下图



在Python中实现非局部跳转可以使用try-except-finally块和raise语句。具体步骤如下:
1.创建一个新的异常类来表示我们需要存在的非局部控制流,例如:
class NonLocalJumpException(Exception):
def __init__(self, target_func_name):
self.target_func_name = target_func_name # 目标函数名
def jump(self):
pass # 当此异常被捕获并处理时,这个方法将会使代码跳转到目标函数
2.在当前子程序中引发NonLocalJumpException异常,在该异常的构造函数中指定要跳转到的目标函数的名称。
def source_func():
print("在source_func()里")
raise NonLocalJumpException(target_func_name="dest_func")
print("执行不到这里")
def dest_func():
print("在dest_func()里")
3.在目标函数中构建try-except块以捕获刚刚引发的NonLocalJumpException异常,并在相应的except块中调用异常对象的jump()方法以实现非局部跳转。
def wrapper_func():
try:
source_func()
except NonLocalJumpException as nlje:
if nlje.target_func_name == "dest_func":
dest_func()
else:
raise nlje
wrapper_func() # 输出: 在source_func()里 \n 在dest_func()里