#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! Ваш ответ был бы более полезным, если бы вы опубликовали пример кода.