Python не имеет приватных учеников. Это означает, что любой член класса (или член любого экземпляра этого класса) может быть доступен напрямую и без ограничений извне. Таким образом, вы можете сделать что-то вроде этого:
class classOne:
def __init__(self):
self.test = "test"
self.hello = "hello"
self.world = "world"
class classTwo:
def __init__(self, class_one):
self.test = class_one.test
self.hello = class_one.hello
self.world = class_one.world
def printFunction(self):
print(self.test)
print(self.hello)
print(self.world)
Тогда вы можете сделать это:
>>> class_one = classOne()
>>> class_two = classTwo(class_one)
>>> class_two.printFunction()
Или, если вы хотите classTwo
наследовать от classOne
, вы можете сделать это :
Файл: module_one.py:
class ClassOne:
def __init__(self):
self.test = "test"
self.hello = "hello"
self.world = "world"
Файл: module_two.py:
import module_one
class ClassTwo(module_one.ClassOne):
def printFunction(self):
print(self.test)
print(self.hello)
print(self.world)
Это работает, поскольку classTwo
наследует значения test
hello
и world
из classOne
. Его использование почти то же самое, но classTwo
больше не принимает экземпляр classOne
в своем конструкторе:
>>> import module_two
>>> c2 = module_two.ClassTwo()
>>> c2.printFunction()