天软金融分析.NET函数大全 > TSL函数 > 第三方交互函数 > Python支持函数

PyCall    

简述
调用python 模块中的函数
定义
PyCall([callFlag:Integer;]ModuleName:String;FuncName:String;Param1[;Param2;...;ParamN]:any):Any;
参数
名称类型说明
callFlagInteger结果输出方式与参数输入方式的设置,是一个按位(2位二进制)的状态组合值,即取值为二进制的00,01,10,11组合,具体含义如下:
位(从低到高位) 位值 参数值 说明
不存在 1(默认值) 即函数第一个参数不为整数。 直接返回调用函数的结果,参数一个个送入。
第1位 (结果输出方式) 0 0或2 返回值为一个数组。 第0项目为布尔型表明是否调用成功。 第1项为调用函数的结果,若程序报错则返回错误字符串。
1 1或3 直接返回调用函数的结果。 找不到ModuleName、FuncName则函数报错。
第2位 (参数输入方式) 0 0或1 送入的参数以参数的方式一个个送入。
1 2或3 函数参数以一个数组送入。
ModuleNameString 模块名
FuncNameString 模块中的函数名
Param1any被调用函数的参数,可以是参数数组,也可以是依次传入参数。
且支持Name:Value模式进行命名参数的指定。
当为参数数组时,指定参数为array(‘参数名1’:参数值1, ‘参数名2’:参数值2,…),
当为依次传入时,则传入方式为:参数名1:参数值1, 参数名2:参数值2,…
注意,依次传入的命名参数方式目前只在新一代客户端中支持。
Param2any被调用函数的第二个参数,可省略
ParamNany被调用函数的第N个参数,可省略
返回Any根据callFlag的低位的值,返回调用函数的结果或执行调用的结果。
  • 范例

    rdo2 PyRun("import numpy");
    //不给状态值,默认方式下调用python的randint函数
    return rdo2 pycall('numpy.random','randint',6,9);
    //参数通过数组方式传入
    return pycall(2,'numpy.random','randint',array('high':9,'low':6));
    //一个个指定参数方式传入
    return pycall('numpy.random','randint',high:9,low:6);
相关