python中的所有对象都使用引用实现,因此对象和对象指针之间的区别在代码中不存在.
NULL的等价物称为无(好信息here).由于python中的所有对象都使用引用来实现,您可以重新编写结构体,如下所示:
class Node:
def __init__(self): #object initializer to set attributes (fields)
self.val = 0
self.right = None
self.left = None
然后它的工作原理很像你会期望的:
node = Node()
node.val = some_val #always use . as everything is a reference and -> is not used
node.left = Node()
请注意,与C中的NULL不同,“None”不是“指向无处”的指针:它实际上是NoneType类的实例.
因此,由于None是一个对象,您可以像其他对象一样进行测试:
if node.left == None:
print("The left node is None/Null.")
if node.left is None:
print("The left node is None/Null.")