Как вызвать аргументы внешнего класса внутри внутреннего класса?

#python #class

#python #класс

Вопрос:

Здравствуйте, я новичок в использовании классов на python. Я пытаюсь получить параметры аргументов внешнего класса внутри внутреннего класса. Например, у меня есть :

 class Rectangle: 

  n_edges = 4

  def __init__(self, length, width):
    self.length = length
    self.width = width

  def rectangle_area(self):
    return self.length*self.width


  def rectangle_perimeter(self):
    return 2*self.length   2*self.width
    
  class Patch:
    
    def __init__(self, cor1, cor2):
      self.cor1 = cor1
      self.cor2 = cor2
      # I want here to get length and width
 

Итак, я хочу иметь аргументы длины и ширины класса Rectangle в классе Patch, не передавая их в качестве параметров в конструкторе Patch

Есть идеи?

Большое спасибо !

Комментарии:

1. прежде всего, почему Patch класс должен быть вложен внутрь Rectangle ? Это то , что вы хотите Patch унаследовать от Rectangle него ?

2. Почему вы с самого начала объединяете классы?

3. «Итак, я хочу иметь аргументы длины и ширины класса Rectangle в классе Patch, не передавая их в качестве параметров в конструкторе Patch» почему вы не хотите передавать их в качестве аргументов?

4. @MathiasR.Jessen между этими двумя классами нет абсолютно никаких отношений родитель-потомок

5. @MathiasR.Jessen для этого отношения нет специального имени. Один объект существует в пространстве имен другого объекта. Это ничем не отличается от x.y = y . Один класс является атрибутом другого класса. Так что я думаю, что «является атрибутом» на самом деле описывает отношения.

Ответ №1:

Сначала сохраните файл python с первым классом, т. е. Сохраните класс rectangle в файле python (rectangle. Пи). Затем в другой файл python импортируйте прямоугольник. py-файл, чтобы вы могли использовать все функции класса rectangle

Комментарии:

1. Добро пожаловать в Stack Overflow! Ваш ответ был бы более полезным, если бы вы опубликовали пример кода.