Signal

class czsc.Signal(signal: str = '', score: int = 0, k1: str = '任意', k2: str = '任意', k3: str = '任意', v1: str = '任意', v2: str = '任意', v3: str = '任意')[source]

Bases: object

Attributes Summary

k1

k2

k3

key

获取信号名称

score

signal

v1

v2

v3

value

获取信号值

Methods Summary

is_match(s)

判断信号是否与信号列表中的值匹配

Attributes Documentation

k1: str = '任意'
k2: str = '任意'
k3: str = '任意'
key

获取信号名称

score: int = 0
signal: str = ''
v1: str = '任意'
v2: str = '任意'
v3: str = '任意'
value

获取信号值

Methods Documentation

is_match(s: dict) bool[source]

判断信号是否与信号列表中的值匹配

代码的执行逻辑如下:

接收一个字典 s 作为参数,该字典包含了所有信号的信息。从字典 s 中获取名称为 key 的信号的值 v。 如果 v 不存在,则抛出异常。从信号的值 v 中解析出 v1、v2、v3 和 score 四个变量。

如果当前信号的得分 score 大于等于目标信号的得分 self.score,则继续执行,否则返回 False。 如果当前信号的第一个值 v1 等于目标信号的第一个值 self.v1 或者目标信号的第一个值为 “任意”,则继续执行,否则返回 False。 如果当前信号的第二个值 v2 等于目标信号的第二个值 self.v2 或者目标信号的第二个值为 “任意”,则继续执行,否则返回 False。 如果当前信号的第三个值 v3 等于目标信号的第三个值 self.v3 或者目标信号的第三个值为 “任意”,则返回 True,否则返回 False。

Parameters:

s – 所有信号字典

Returns:

bool