Python的gentag 库
Python的gentag 库为标记Python对象提供了一种有效的方法。这些任意的Python对象一旦被分配了一个Python标签,就可以根据这些标签进一步获取。在本文中,重点是使用Python标记的赋值、操作和操作。
安装:
使用以下命令安装gentag库。
pip install gentag
定义和分配标签
标签对象需要使用gentag库的Scope() 类进行分配。发布每个标签可以使用define() 方法分配,该方法接受对象名称和标签列表作为参数分配给它。
例子:
Python3
from gentag import Scope
# defining tag object
tags = Scope()
# assigning tags
tags.define('gfg', ['cs', 'mock test', 'best'])
tags.define('manjeet', ['loves gfg', 'sde', 'coder', 'problem solver'])
print("The tagged instances : ")
print(tags.tags['gfg'])
print(tags.tags['manjeet'])
Python3
from gentag import Scope
# defining tag object
tags = Scope()
# assigning tags
tags.define('gfg', ['cs', 'mock test', 'best'])
tags.define('manjeet', ['loves gfg', 'cs', 'coder', 'problem solver'])
tags.define('cs', ['domain', 'problem solver', 'best'])
# evaluating tags
or_res = tags.evaluate('gfg | cs')
print("Getting or on gfg and cs : " + str(or_res))
# composite operations
comp_res = tags.evaluate('(gfg & cs) | manjeet ')
print("Getting composition on gfg and cs : " + str(comp_res))
# all tags intersection using 'all'
print("Intersection of all tags : " + str(tags.evaluate('all')))
Python3
from gentag import Scope
# defining tag object
tags = Scope()
# assigning tags
tags.define('gfg', ['cs', 'mock test', 'best'])
tags.define('manjeet', ['loves gfg', 'cs', 'coder', 'problem solver'])
tags.define('cs', ['domain', 'problem solver', 'best'])
# assigning new tag as composition of others
tags.define('all_good', '(gfg & cs) | manjeet')
print("Getting newly assigned tag : " + str(tags.evaluate('all_good')))
输出 :
使用操作和“所有”标签:
可以使用evaluate() 对标签执行简单的集合操作,例如&(and)、or(|)、-(difference) 和对称差异(^)。可以使用“all”执行所有标签的交集。
例子:
蟒蛇3
from gentag import Scope
# defining tag object
tags = Scope()
# assigning tags
tags.define('gfg', ['cs', 'mock test', 'best'])
tags.define('manjeet', ['loves gfg', 'cs', 'coder', 'problem solver'])
tags.define('cs', ['domain', 'problem solver', 'best'])
# evaluating tags
or_res = tags.evaluate('gfg | cs')
print("Getting or on gfg and cs : " + str(or_res))
# composite operations
comp_res = tags.evaluate('(gfg & cs) | manjeet ')
print("Getting composition on gfg and cs : " + str(comp_res))
# all tags intersection using 'all'
print("Intersection of all tags : " + str(tags.evaluate('all')))
输出 :
将标签分配为标签:
每个新标签都可以使用define() 初始化为一组标签操作的组合。只是将标签操作作为第二个参数传递。
例子:
蟒蛇3
from gentag import Scope
# defining tag object
tags = Scope()
# assigning tags
tags.define('gfg', ['cs', 'mock test', 'best'])
tags.define('manjeet', ['loves gfg', 'cs', 'coder', 'problem solver'])
tags.define('cs', ['domain', 'problem solver', 'best'])
# assigning new tag as composition of others
tags.define('all_good', '(gfg & cs) | manjeet')
print("Getting newly assigned tag : " + str(tags.evaluate('all_good')))
输出 :