【Error】条件语句中的函数未加括号

其实时候遍历打印单向循环链表总也不显示,其他环节的逻辑都没问题,那只能查typo了。
代码改了改,突出问题所在:


class Node():
    def __init__(self,elem):
        self.elem = elem
        self.next = None

class SLL(object):    
    
    def __init__(self, node = Node(3)):
    #加了一个节点Node(3)
        self._head = node
        if node:
            node.next = node
        
    def is_empty(self):
        '''链表是否为空'''
        return self._head == None
    
    def trying(self):
        if self.is_empty:
     #   if self.is_empty():
            print('空')
        else:
            print('非空')
            
if __name__ == '__main__':
    ll = SLL()
    print(ll.is_empty()) 
    #因为加了一个节点Node(3)
    #所以这个肯定是False
    ll.trying()
    #应该返回'非空'
       

这个单向循环链表里挂了一个Node(3)
所以肯定是非空链表,判断肯定是False,打印出来的应是非空,执行应该如下:

    def trying(self):
		if self.is_empty():
        #    print('空')
        else:
            print('非空')
#非空            

如果忘了加括号,执行的就变成:

    def trying(self):
		if self.is_empty:
            print('空')
        #else:
        #    print('非空')
#空

【Error】条件语句中的函数未加括号

重点是这种typo也不报错,猝不及防,括号加上后问题解决。