1. 苏葳的备忘录首页
  2. 编程

Python学习:终于明白如何无参调用函数了

python 无参某个中间业务平台,用C或Java开发的基本框架,用Python开发业务流程。看它的主要结构,是用Python开发独立的各级模块,模块之间流程转移是通过末尾的return语句完成。另一个用C编写的中间业务平台则是用XML控制流程,用全局数据区来传递业务数据。相比起来,前一个平台不需要单独的流程控制配置文件。而这通过修改模块尾的return+下个模块名的方式控制程序流程的方法,感觉实现比较精巧。

但是,在Python中:

def a()
   print "sssss"
print a()

此处a后的()无论如何是不能去掉的,但是此业务平台里却有有return a,而a是下个模块函数,如何实现的呢?为此还研究过函数修饰的问题。 最后在代码中发现原来是如此实现的:

from types import FunctionType;
def NODE1(__REQ__,__RSP__,__SND__,__RCV__):
 print "NODE1"
 return NODE2
def NODE2(__REQ__,__RSP__,__SND__,__RCV__):
 print "NODE2"
 return NODE3
def NODE3(__REQ__,__RSP__,__SND__,__RCV__):
 print "NODE3"
 return NONE
def IMPL(__REQ__,__RSP__,__SND__,__RCV__):
 try:
  _Result_ = None;
  _Method_ = NODE1;
  while(type(_Method_) is FunctionType):
   _Result_ = _Method_(__REQ__,__RSP__,__SND__,__RCV__);
   _Method_ = _Result_;
 except Exception,PyExcp:
  return None;
print IMPL("1","2","3","4")

输出为: NODE1NODE2NODE3None,可看出各模块依次执行了。

原创文章,作者:苏葳,如需转载,请注明出处:https://www.swmemo.com/413.html

发表评论

邮箱地址不会被公开。 必填项已用*标注