chore: 添加虚拟环境到仓库
- 添加 backend_service/venv 虚拟环境 - 包含所有Python依赖包 - 注意:虚拟环境约393MB,包含12655个文件
This commit is contained in:
@@ -0,0 +1,175 @@
|
||||
def pprint_nodes(subtrees):
|
||||
"""
|
||||
Prettyprints systems of nodes.
|
||||
|
||||
Examples
|
||||
========
|
||||
|
||||
>>> from sympy.printing.tree import pprint_nodes
|
||||
>>> print(pprint_nodes(["a", "b1\\nb2", "c"]))
|
||||
+-a
|
||||
+-b1
|
||||
| b2
|
||||
+-c
|
||||
|
||||
"""
|
||||
def indent(s, type=1):
|
||||
x = s.split("\n")
|
||||
r = "+-%s\n" % x[0]
|
||||
for a in x[1:]:
|
||||
if a == "":
|
||||
continue
|
||||
if type == 1:
|
||||
r += "| %s\n" % a
|
||||
else:
|
||||
r += " %s\n" % a
|
||||
return r
|
||||
if not subtrees:
|
||||
return ""
|
||||
f = ""
|
||||
for a in subtrees[:-1]:
|
||||
f += indent(a)
|
||||
f += indent(subtrees[-1], 2)
|
||||
return f
|
||||
|
||||
|
||||
def print_node(node, assumptions=True):
|
||||
"""
|
||||
Returns information about the "node".
|
||||
|
||||
This includes class name, string representation and assumptions.
|
||||
|
||||
Parameters
|
||||
==========
|
||||
|
||||
assumptions : bool, optional
|
||||
See the ``assumptions`` keyword in ``tree``
|
||||
"""
|
||||
s = "%s: %s\n" % (node.__class__.__name__, str(node))
|
||||
|
||||
if assumptions:
|
||||
d = node._assumptions
|
||||
else:
|
||||
d = None
|
||||
|
||||
if d:
|
||||
for a in sorted(d):
|
||||
v = d[a]
|
||||
if v is None:
|
||||
continue
|
||||
s += "%s: %s\n" % (a, v)
|
||||
|
||||
return s
|
||||
|
||||
|
||||
def tree(node, assumptions=True):
|
||||
"""
|
||||
Returns a tree representation of "node" as a string.
|
||||
|
||||
It uses print_node() together with pprint_nodes() on node.args recursively.
|
||||
|
||||
Parameters
|
||||
==========
|
||||
|
||||
assumptions : bool, optional
|
||||
The flag to decide whether to print out all the assumption data
|
||||
(such as ``is_integer`, ``is_real``) associated with the
|
||||
expression or not.
|
||||
|
||||
Enabling the flag makes the result verbose, and the printed
|
||||
result may not be deterministic because of the randomness used
|
||||
in backtracing the assumptions.
|
||||
|
||||
See Also
|
||||
========
|
||||
|
||||
print_tree
|
||||
|
||||
"""
|
||||
subtrees = []
|
||||
for arg in node.args:
|
||||
subtrees.append(tree(arg, assumptions=assumptions))
|
||||
s = print_node(node, assumptions=assumptions) + pprint_nodes(subtrees)
|
||||
return s
|
||||
|
||||
|
||||
def print_tree(node, assumptions=True):
|
||||
"""
|
||||
Prints a tree representation of "node".
|
||||
|
||||
Parameters
|
||||
==========
|
||||
|
||||
assumptions : bool, optional
|
||||
The flag to decide whether to print out all the assumption data
|
||||
(such as ``is_integer`, ``is_real``) associated with the
|
||||
expression or not.
|
||||
|
||||
Enabling the flag makes the result verbose, and the printed
|
||||
result may not be deterministic because of the randomness used
|
||||
in backtracing the assumptions.
|
||||
|
||||
Examples
|
||||
========
|
||||
|
||||
>>> from sympy.printing import print_tree
|
||||
>>> from sympy import Symbol
|
||||
>>> x = Symbol('x', odd=True)
|
||||
>>> y = Symbol('y', even=True)
|
||||
|
||||
Printing with full assumptions information:
|
||||
|
||||
>>> print_tree(y**x)
|
||||
Pow: y**x
|
||||
+-Symbol: y
|
||||
| algebraic: True
|
||||
| commutative: True
|
||||
| complex: True
|
||||
| even: True
|
||||
| extended_real: True
|
||||
| finite: True
|
||||
| hermitian: True
|
||||
| imaginary: False
|
||||
| infinite: False
|
||||
| integer: True
|
||||
| irrational: False
|
||||
| noninteger: False
|
||||
| odd: False
|
||||
| rational: True
|
||||
| real: True
|
||||
| transcendental: False
|
||||
+-Symbol: x
|
||||
algebraic: True
|
||||
commutative: True
|
||||
complex: True
|
||||
even: False
|
||||
extended_nonzero: True
|
||||
extended_real: True
|
||||
finite: True
|
||||
hermitian: True
|
||||
imaginary: False
|
||||
infinite: False
|
||||
integer: True
|
||||
irrational: False
|
||||
noninteger: False
|
||||
nonzero: True
|
||||
odd: True
|
||||
rational: True
|
||||
real: True
|
||||
transcendental: False
|
||||
zero: False
|
||||
|
||||
Hiding the assumptions:
|
||||
|
||||
>>> print_tree(y**x, assumptions=False)
|
||||
Pow: y**x
|
||||
+-Symbol: y
|
||||
+-Symbol: x
|
||||
|
||||
See Also
|
||||
========
|
||||
|
||||
tree
|
||||
|
||||
"""
|
||||
print(tree(node, assumptions=assumptions))
|
||||
Reference in New Issue
Block a user