Создание экземпляров классов объектов
Поэтому я пытаюсь использовать экземпляры классов для создания удаленной базы данных, доступной как удаленные объекты. Но моя проблема заключается в чем-то простом, то есть в возможности хранить объекты (с несколькими атрибутами) в отличие от строк (которые я в настоящее время кодировал).
Так что у меня есть склад велосипедов, и разные сотрудники могут получить к нему доступ, чтобы брать или хранить велосипеды.
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)
и фактический доступ выполняется с несколькими строками кода в другом скрипте.
То, что я пытаюсь сделать, это вместо того, чтобы иметь единственные строковые экземпляры, такие как bike1, bike2 и т. Д. Я хочу иметь и хочу ввести несколько атрибутов на экземпляр в объекте, а именно:
"велосипед, модель, цвет, цена"
Позже они будут доступны для поиска по ценовому диапазону или модели.
- Затем я хочу иметь возможность удалить велосипед (и все его атрибуты) со склада, указав только имя велосипеда.
Я пробовал несколько вещей, но боролся в течение нескольких дней.