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