Python Forum
can Inner Class reference the Outer Class's static variable?
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
can Inner Class reference the Outer Class's static variable?
#4
Class variable, not static variable. This is Python, not C++.

The answer to your question is yes and no. You cannot use class variables in Outer when assigning class variables in Inner because class Outer does not exist yet when you create class variables for Inner. However, methods in Inner can see Outer just fine.
class Outer(object):
    a = 1
 
    class Inner(object):
        a = 2

        @classmethod
        def aay(cls):
            return cls.a, Outer.a

print(Outer.Inner.aay())
Output:
(2, 1)
This also works for instance methods of Inner.
Reply


Messages In This Thread
RE: can Inner Class reference the Outer Class's static variable? - by deanhystad - Mar-21-2022, 01:25 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Python inner classes inheritance from parent class Abedin 8 805 Apr-23-2025, 05:56 AM
Last Post: Gribouillis
  Accessing method attributes of python class Abedin 6 939 Apr-14-2025, 07:02 AM
Last Post: buran
  Python class members based on a type value voidtrance 7 1,297 Apr-11-2025, 10:10 PM
Last Post: deanhystad
  Create a new subclass in a Python extension based on an existing class voidtrance 6 1,457 Mar-25-2025, 06:37 PM
Last Post: voidtrance
  printing/out put issue with class arabuamir 3 1,027 Aug-25-2024, 09:29 AM
Last Post: arabuamir
  Class test : good way to split methods into several files paul18fr 5 3,880 Jul-17-2024, 11:12 AM
Last Post: felixandrea
  [split] Class and methods ebn852_pan 15 3,440 May-23-2024, 11:57 PM
Last Post: ebn852_pan
  [SOLVED] [listbox] Feed it with dict passed to class? Winfried 3 1,338 May-13-2024, 05:57 AM
Last Post: Larz60+
  Class and methods Saida2024 2 1,139 May-13-2024, 04:04 AM
Last Post: deanhystad
  How does this code create a class? Pedroski55 6 2,111 Apr-21-2024, 06:15 AM
Last Post: Gribouillis

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020