内置函数
目前 DataWay 中支持的内置函数如下:
abs()
:求数值绝对值
all()
:判断序列(集合、列表、元组、dict)中所有元素是否满足给定条件
any()
:判断集合中是否存在元素满足给定条件
bool()
:构造布尔值
bytearray()
:构造字节数组
bytes()
:构造空字节
chr()
:0~256的整数对应的 ASCII 码
dict()
:创建字典
enumerate()
:将一个可遍历的数据对象组合列出数据和数据下标,一般用于 for 循环中
filter()
:集合过滤,例如:list(filter(lambda x:x>=100, [1,3,4,100,102])) -> [100,102]
float()
:构造浮点数
getattr()
:求一个对象的属性值
hasattr()
:判断一个对象是否有某个属性
hash()
:求哈希值
id()
:求对象的唯一标识
int()
:构造整数
isinstance()
:判断对象是否属于某种类型
iter()
:生成一个迭代器
len()
:获取集合元素个数
list()
:构造列表
map()
:根据函数对指定序列做映射,例如:list(map(lambda x: x * 2, [1, 2, 3, 4, 5])) -> [2, 4, 6, 8, 10]
max()
:获取数值最大值
min()
:数值最小值
next()
:返回迭代器的下一个项目,和 iter() 一起使用
object()
:返回空对象
ord()
:单个 ASCII 码字符的整数值
pow()
:求指数
print()
:DataWay 调试时可以打印相关信息(仅在 DataWay 表达式编辑时使用 Debug 功能生效)
range()
:创建可迭代对象,例如:list(range(5)) -> [0, 1, 2, 3, 4]
reversed()
:创建反转的迭代器,例如:list(reversed('abcdefg')) -> ['g', 'f', 'e', 'd', 'c', 'b', 'a']
round()
:截取数值的整数部分
set()
:创建一个集合
slice()
:设置截取元素的切片
sorted()
:排序
str()
:构造字符串
sum()
:数值求和
tuple()
:构造元组
type()
:返回对象类型
zip()
:打包可迭代对象中元素成多个 tuple。例如:list(zip([1,2,3], [4,5,6])) -> [(1, 4), (2, 5), (3, 6)]内置第三方模块
__time__,用于时间处理的库,可参见 Python 官方文档。已内置在 DataWay 的处理上下文中,可以直接引用。
目前 DataWay 中支持的库函数/类型如下:
altzone:当前时区相对于 UTC 时区的延迟偏移,单位为秒。
asctime:将一个 struct_time 转换为时间字符串。
ctime:将一个时间戳转换为时间字符串。
mktime():将一个 struct_time 转换为时间戳。
strftime():将一个 struct_time 进行格式化。
strptime():按照给定的格式解析事件字符串,并返回一个结构化的 struct_time 对象。
timezone:当前时区。
tzname:当前时区名称。
time():当前时间。
localtime:将一个时间戳转换为当前时区的本地时间,返回 struct_time 类型对象。
__json__,用于处理 json 数据的库,可参见 Python 官方文档。已内置在 DataWay 的处理上下文中,可以直接引用。
目前 DataWay 中支持的 json 模块函数:
dumps():将 json 对象编码为 json 字符串。
loads():将一个 json 串解析为 Python 对象。
__math__,用于数学运算的库,可参见 Python 官方文档。已内置在 DataWay 的处理上下文中,可以直接引用。
目前 DataWay 中支持的 math 模块函数:
math.ceil(x):返回 x 的上限,即大于或者等于 x 的最小整数。如果 x 不是一个浮点数,则委托 x.ceil(),返回整数值。
math.floor(x):返回 x 的向下取整,即小于或等于 x 的最大整数。如果 x 不是浮点数,则委托 x.floor(),返回整数值。
math.fabs(x):返回 x 的绝对值。
math.pow(x,y):返回 x 的 y 次幂。
math.sqrt(x):返回 x 的平方根。
支持的常量:
math.pi:数学常数 π = 3.141592...,精确到可用精度。
math.e:数学常数 e = 2.718281...,精确到可用精度。
math.inf:浮点正无穷大。(对于负无穷大,使用 -math.inf 。)相当于 float('inf')的输出。
math.nan:浮点“非数字”(NaN)值,相当于 float('nan')的输出。
__base64__:用于 base64 编解码的库,可参见 Python 官方文档。已内置在 DataWay 的处理上下文中,可以直接引用。 支持的函数有:
base64.b64encode(s):对 bytes 类型参数 base64 编码,返回编码后的 bytes。
base64.b64decode(s):对 bytes/str 类型参数 base64 解码,返回解码后的 bytes。
__hmac__:用于 hmac 加解密的库,可参见 Python 官方文档。已内置在 DataWay 的处理上下文中,可以直接引用。 支持的函数有:
hmac.new(key):返回一个新的 hmac 对象,key 是一个指定密钥的 bytes 或 bytearray 对象。
__random__:用于随机数生成的库,可参见 Python 官方文档。已内置在 DataWay 的处理上下文中,可以直接引用。 支持的函数有:
random.randint(a,b):返回随机整数 N 满足 a <= N <= b。
__hashlib__:用于生成哈希值的库,可参见 Python 官方文档。已内置在 DataWay 的处理上下文中,可以直接引用。 支持的函数/属性有:
hashlib.sha256():创建一个 SHA-256 hash 对象。
hashlib.md5():创建一个 MD5 的 hash 对象。
hashlib.sha1():创建一个 SHA1 的 hash 对象。
__datetime__:用于时间日期处理的库,可参见 Python 官方文档。已内置在 DataWay 的处理上下文中,可以直接引用。 支持的函数/属性有:
__datetime.date__:一个理想化的简单型日期,它假设当今的公历在过去和未来永远有效。属性有:year、month 和 day。
__datetime.time__:一个理想化的时间,它独立于任何特定的日期,假设每天一共有 246060 秒。属性有:hour、minute、second、microsecond 和 tzinfo。
__datetime.datetime__:日期和时间的结合。属性有:year、month、day、hour、minute、second、microsecond 和 tzinfo。
__datetime.timedelta__:表示两个 date 对象或者 time 对象,或者 datetime 对象之间的时间间隔,精确到微秒。
__datetime.timezone__:表示相对于世界标准时间(UTC)的偏移量。
__datetime.tzinfo__:描述时区信息对象,用来给 datetime 和 time 类提供自定义的时间调整概念,例如处理时区和/或夏令时。
__decimal__:用于定点数处理的库,可参见 Python 官方文档。已内置在 DataWay 的处理上下文中,可以直接引用。 支持的函数/属性有:
decimal.Decimal:表示十进制浮点数对象。
__socket__:Python 中 tcp 套接字的底层实现,可参见 Python 官方文档。已内置在 DataWay 的处理上下文中,可以直接引用。 支持的函数/属性有:
socket.htonl():把32位正整数从网络序转换成主机字节序。
socket.ntohl():将 32 位正整数从网络字节序转换为主机字节序。
__pycryptodome__:专用的加密工具三方库,可参见 pycryptodome 官方文档。已内置在 DataWay 的处理上下文中,可以直接引用。 支持的函数/属性有:
__Crypto.Util.Padding__:该模块为添加和删除数据中的标准填充提供了最小的支持,提供 pad()、unpad()方法。
__Crypto.Cipher.AES__:AES加密模块。它具有16字节的固定数据块大小,密钥可以是128、192或256位长。提供 new()方法。
struct:用于打包二进制文件的库,可参见 Python 官方文档。已内置在 DataWay 的处理上下文中,可以直接引用。 支持的函数/属性有:
struct.pack(format, v1, v2, ...):返回一个 bytes 对象,其中包含根据格式字符串 format 打包的值 v1,v2,... 参数个数必须与格式字符串所要求的值完全匹配。
struct.unpack(format、buffer):根据格式字符串 format 从缓冲区 buffer 解包,返回一个 tuple。
urllib:用于 URL 处理的库,可参考 Python 官方文档。已内置在 DataWay 的处理上下文中,可以直接引用。 支持的函数/属性有:
urllib.parse.urlparse():获取 url 参数,将 url 解析成一个包含6个字符串的 tuple,分别为:协议,位置,路径,参数,查询,片段识别。
urllib.parse.unquote():将编码的 url 进行解码。
csv:用于 CSV 文件读写的库,可参见 Python 官方文档。已内置在 DataWay 的处理上下文中,可以直接引用。 支持的函数/属性有:
csv.reader():创建一个 reader 对象,将逐行遍历 CSV 文件对象。