python逻辑表达式是什么_如何在Python中处理逻辑表达式?

通过声明__and__、__or__和__invert__方法,可以使用&、|和{}运算符来定义表达式。在class Element(object):

def __init__(self, elt_id, elt_description=None):

self.id = elt_id

self.description = elt_description

if self.description is None:

self.description = self.id

def __or__(self, elt):

return CombinedElement(self, elt, op="OR")

def __and__(self, elt):

return CombinedElement(self, elt, op="AND")

def __invert__(self):

return CombinedElement(self, op="NOT")

def __str__(self):

return self.id

class CombinedElement(Element):

def __init__(self, elt1, elt2=None, op="NOT"):

# ID1

id1 = elt1.id

if isinstance(elt1, CombinedElement):

id1 = '('+id1+')'

# ID2

if elt2 is not None:

id2 = elt2.id

if isinstance(elt2, CombinedElement):

id2 = '('+id2+')'

# ELT_ID

if op == "NOT" and elt2 is None:

elt_id = "~"+id1

elif op == "OR":

elt_id = id1+" v "+id2

elif op == "AND":

elt_id = id1+" ^ "+id2

# SUPER

super(CombinedElement, self).__init__(elt_id)

a = Element("A")

b = Element("B")

c = Element("C")

d = Element("D")

e = Element("E")

print(a&b|~(c&d)|~e)

输出:

^{pr2}$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值