Python 3 : Sharing variables between methods in a class

前端 未结 2 1874
挽巷
挽巷 2020-12-18 09:29

Looking for how to make a variable set by one Method/function in a class accessible to another method/function in that same class without having to do excess (and problemati

相关标签:
2条回答
  • 2020-12-18 09:49

    You set it in one method and then look it up in another:

    class TestClass(object):
    
        def current(self, test):
            """Just a method to get a value"""
            self.test = test
            print(test)
    
        def next_one(self):
            """Trying to get a value from the 'current' method"""
            new_val = self.test
            print(new_val)
    

    As a note, you will want to set self.test before you try to retrieve it. Otherwise, it will cause an error. I generally do that in __init__:

    class TestClass(object):
    
        def __init__(self):
            self.test = None
    
        def current(self, test):
            """Just a method to get a value"""
            self.test = test
            print(test)
    
        def next_one(self):
            """Trying to get a value from the 'current' method"""
            new_val = self.test
            print(new_val)
    
    0 讨论(0)
  • 2020-12-18 10:04

    Is this what you're trying to do?

    #I just coppied this one to have an init method
    class TestClass(object):
    
        def current(self, test):
            """Just a method to get a value"""
            print(test)
            self.value = test
            pass
    
        def next_one(self):
            """Trying to get a value from the 'current' method"""
            new_val = self.value
            print(new_val)
            pass
    
    a = TestClass()
    b = TestClass()
    a.current(10)
    b.current(5)
    a.next_one()
    b.next_one()
    
    0 讨论(0)
提交回复
热议问题