Создание экземпляров классов объектов

Поэтому я пытаюсь использовать экземпляры классов для создания удаленной базы данных, доступной как удаленные объекты. Но моя проблема заключается в чем-то простом, то есть в возможности хранить объекты (с несколькими атрибутами) в отличие от строк (которые я в настоящее время кодировал).

Так что у меня есть склад велосипедов, и разные сотрудники могут получить к нему доступ, чтобы брать или хранить велосипеды.

from __future__ import print_function
import Pyro4

@Pyro4.expose

class Warehouse(object):
    def __init__(self):
        self.contents = ["bike1", "bike2", "bike3", "bike4", "bike5"]

    def list_contents(self):
        return self.contents

    def take(self, name, bike):
        self.contents.remove(bike)
        print("{0} took the {1}.".format(name, bike))

    def store(self, name, bike):
        self.contents.append(bike)
        print("{0} stored the {1}.".format(name, bike))


def main():
    warehouse = Warehouse()
    Pyro4.Daemon.serveSimple(
        {
            warehouse: "example.warehouse"
        },
        ns=True)


if __name__ == "__main__":
    main()

так разные сотрудники получают доступ к указанному складу велосипедов

from __future__ import print_function
import sys

if sys.version_info < (3, 0):
    input = raw_input


class Person(object):
    def __init__(self, name):
        self.name = name

    def visit(self, warehouse):
        print("This is {0}.".format(self.name))
        self.deposit(warehouse)
        self.retrieve(warehouse)
        print("Thank you, come again!")

    def deposit(self, warehouse):
        print("The warehouse contains:", warehouse.list_contents())
        bike = input("Type the bike you want to store (or empty): ").strip()
        if bike:
            warehouse.store(self.name, bike)

    def retrieve(self, warehouse):
        print("The warehouse contains:", warehouse.list_contents())
        bike = input("Type the bike you want to take (or empty): ").strip()
        if bike:
            warehouse.take(self.name, bike)

и фактический доступ выполняется с несколькими строками кода в другом скрипте.

  1. То, что я пытаюсь сделать, это вместо того, чтобы иметь единственные строковые экземпляры, такие как bike1, bike2 и т. Д. Я хочу иметь и хочу ввести несколько атрибутов на экземпляр в объекте, а именно:

    "велосипед, модель, цвет, цена"

Позже они будут доступны для поиска по ценовому диапазону или модели.

  1. Затем я хочу иметь возможность удалить велосипед (и все его атрибуты) со склада, указав только имя велосипеда.

Я пробовал несколько вещей, но боролся в течение нескольких дней.

0 ответов

Другие вопросы по тегам