aardio 文档

aardio 与 Python 类型转换

类型转换规则

使用纯值 #

示例:

import console;  
import py3;

//导入 Python 模块
var math = py3.import("math");

//调用 Python 函数,  
var num = math.floor(22.3);

//在控制台输出数值。 
console.log(num);

console.pause();

非常简单。

使用 pyObject #

pyObject 也可以在 aardio 中也可以像普通对象一样使用。 可以调用 pyObject 的成员函数、读写其属性、通过下标读写索引项、并支持各种常用运算符。

可通过 pyObject.parseValue() 函数转换为纯 aardio 值(通过 JSON 自动转换)。

Python 对象( pyObject )在 aardio 中与类型转换有关的函数:

aardio 中的 py3.dict,py3.list,py3.tuple 都继承自 py3.object ,本质都是 pyObject 对象(指 py3.object )。

最常用的函数 pyObject.parseValue,示例:

import console;
import py3; 

var pyCode = /** 
def getList(a,b):   
    return a,b,123 # Python 多返回值实际是返回一个 tuple
**/

py3.exec( pyCode ) 

//从 py3.main 模块调用 Python 代码定义的函数 
var pyList = py3.main.getList(12,23);

//pyObject 转换为纯 aardio 值
var list = pyList.parseValue() 
console.dump(list);  

/*
list 或 tuple 可用下标访问,
注意 Python 对象起始索引为 0,aardio 数组起始索引为 1。
*/
var num = pyList[0];

//可以如下遍历 pyObject 对象。
for( pyItem in pyList.each() ){
    console.log(pyItem) //基础类型已转换为纯 aardio 值,其他为 py2.object
}

console.pause();

转换 Python 集合对象 #

示例:

import console.int;
import py3;

// aardio 数组转换为 Python 集合
var pySet = py3.builtin.set({
    1,2,3 
})

//添加成员
pySet.add(456);

/*
需要先调用 pySet.toList() 转换为 Python 列表,
然后才能调用 parseValue() 函数转换为 aardio 数组。
*/
var arr = pySet.toList().parseValue();

console.dumpTable(arr)

Markdown 格式