0

I'm new to OOP concepts and I have trouble understanding the scope of this tricky code. Below is my code, I want to access SomeClass.someMethod() in SomeOtherClass.someOtherMethod(). Is this possible? If so how? Any pointers would be appreciated.

class SomeClass:
    def method1(self):
         print("Hi Hello")
    def method2(self):
         print("Hello how are you?")
         def someMethod(name):
             print(f"Hi {name}")
         someMethod("Max")

class SomeOtherClass(SomeClass):
   def someOtherMethod(self):
        print(1+2)



         

1 Answers1

0

You can use super(), please google on it.

class SomeClass:
    def method1(self):
        print("Hi Hello")
    def method2(self):
        print("Hello how are you?")
        def someMethod(name):
            print(f"Hi {name}")
        someMethod("Max")

class SomeOtherClass(SomeClass):
    def someOtherMethod(self):
        print(1+2)
    
    def get(self):
        super().method2()

t = SomeOtherClass()
t.get()

However, inner method: someMethod cannot be accessed outside unless executed inside method2.

Please have a look:

Accessing a function within a function(nested function?)

As an addition:

You may also need to learn something about Method Order Resolution, please search on it.

Xiang
  • 489
  • 5
  • 11