Найти - Пользователи
Полная версия: Пересоздать объект внутри объекта
Начало » Python для новичков » Пересоздать объект внутри объекта
1
Voroshek
 import random
class First_class:
  def __init__(self):
    x = random.randint(0, 1000)
class Second_class:
  def __init__(self, y):
    y = First_class()
obj_1 = First_class()
obj_2 = Second_class(obj_1)
Чтобы при создании obj_2 переменная obj_1 создавалась заново. Идея записать в конструкторе Second_class
 y.x = random.randint(0, 1000)
не фонтан, так как в конструкторе First_class переменная х обрабатывается дальше.
PEHDOM
Voroshek Что вы вообще хотите сделать? Вы вообще понимаете что такое переменные и как оно все работает в пайтоне? Расскажите подробнее, потому как мне кажеться, ваша проблема имеет блее простое решение.
Ради занудства, можно сделать так, если устроит такой вариант?:
 #
import random
class First_class:
  def __init__(self):
    x = random.randint(0, 1000)
class Second_class:
  def __init__(self):
    pass
def create_second_class():
    obj1 = First_class()
    obj2 = Second_class()
    return obj2, obj1
obj_1 = First_class()
print(id(obj_1), type(obj_1))
obj_2, obj_1 = create_second_class()
print(id(obj_1), type(obj_1), id(obj_2), type(obj_2))
>>> 
51199856 <class '__main__.First_class'>
51199824 <class '__main__.First_class'> 51228816 <class '__main__.Second_class'>
>>> 
Voroshek
В файле list.py хранится словарь вида
 content = { int_value: ("text_value", data_1, data_2, ...), ...}
В объекте класса Text рандомно выбирается один элемент словаря, и текст обрабатывается в соответствии со значениями data.
В классе Interface создаётся c помощью tkinter отображается текст, для чего ему передаётся объект Text. Также окно имеет кнопку “случайный выбор”, присваивающий объекту Text новый элемент словаря. Именно на этом я и запнулся.
Кроме того в Toplevel будет создан полный список элементов для возможности присвоить объекту Text значение выбранного элемента словаря.
Как-то так.
PEHDOM
Voroshek
Именно на этом я и запнулся.
Хмм, А в чем собственно проблема? присваивайте ему новый элемент, зчем создавать новый обьект?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB