📜  Python的gentag 库

📅  最后修改于: 2022-05-13 01:55:29.601000             🧑  作者: Mango

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')))

输出 :

新分配的标签。