Как мне создать объекты другого класса в другом классе в python - PullRequest
0 голосов
/ 26 апреля 2020

У меня есть класс с именем User и класс с именем Record. Я хотел бы, чтобы класс Record мог создавать несколько экземпляров User (например, 50). Я не уверен, что справлюсь с этим правильно.

  • Должен ли я использовать объекты наследования и создания экземпляров в init класса Record? или просто создать метод в классе записи, который создает их? ?
  • Как передать значения объектов в этом случае? в класс записи?

Я ценю любую помощь, заранее спасибо.

class User:
def __init__(self):
    pass

def retreive_user_data(self):
    url = "https://randomuser.me/api/"
    response = requests.get(url)
    data = response.text
    parsed = json.loads(data)
    return parsed

def fetch_retreived_data(self):
    response = self.retreive_user_data()
    response = response["results"][0]

    # Extracting wanted values and storing them in a dict
    data = {}
    data["uuid"] = response["login"]["uuid"]
    data["first_name"] = response["name"]["first"]
    data["last_name"] = response["name"]["last"]
    data["gender"] = response["gender"]
    data["date_of_birth"] = response["registered"]["date"]
    return data



instance = User()


class Record(User):
    def __init__(self):
        pass
    def CreateUser(self):
        user = User()

Ответы [ 2 ]

0 голосов
/ 26 апреля 2020

Не используйте наследование, используйте инкапсуляцию. Другими словами, поместите экземпляры User в качестве атрибутов вашего класса Record, например:

class Record:
    def __init__(self) -> None:
        self.users = []

    def create_user(self) -> None:
        self.users.append(User())

    def create_multiple_users(self, n_users: int) -> None:
        for _ in range(n_users):
            self.create_user()
0 голосов
/ 26 апреля 2020
class Record():
def __init__(self):
    myUser = createUser()
def CreateUser(self):
    return User()

Нет необходимости наследовать.

...