首页 > 解决方案 > Python:类函数中的全局变量

问题描述

class LinkedList():
    
    def __init__(self):
        self.head = None
    
    def loopCheck(self):
        global fast
        slow = self.head
        fast = self.head 
        while(fast.next!=None):
            slow = slow.next
            fast = fast.next.next
            if slow.data == fast.data:
                return True
            
        return False
    def lenLoop(self):
        if not(self.loopCheck):
            print("No loop found")
        else:
            print(fast.data)

该变量fast在 lenLoop() 函数中未被识别。如何在类中使变量成为全局变量?

标签: pythonpython-3.xlinked-list

解决方案


因为你没有调用你的函数。尝试self.loopCheck()代替self.loopCheck.

def lenLoop(self):
    if not(self.loopCheck()):
        print("No loop found")
    else:
        print(fast.data)

输出

1 -> 2 -> 3 -> None
No loop found

推荐阅读