Композиция объектов - это создание объектов из объектных и примитивных типов данных (логические значения, строки, числа и т. Д.). Вы хотите избегать использования классов, но хотите использовать общие методы для объектов тогда вы правы - заводская функция была бы жизнеспособным решением. Этот термин называется конкатенативным наследованием - составление объектов путем расширения существующего объекта новыми свойствами :
blockquote>Object.assign(properties, method(properties), ...)
Я не могу написать в рамках вашей домашней работы Надеюсь, это поможет вам в правильном направлении. Следующая демка получит от 3 до 20 от пользователя, создаст объект и из свойств этого объекта сгенерирует HTML с именем многоугольника, а также ссылку и изображение указанного многоугольника. Я оставляю вам описание.
Plunker
Демо
Подробности прокомментированы в демо
os.path.realpath(__file__)
даст Вам путь текущего файла, разрешая любые символьные ссылки в пути. Это хорошо работает на моем Mac
7.2 из погружения в Python: нахождение пути .
import sys, os
print('sys.argv[0] =', sys.argv[0])
pathname = os.path.dirname(sys.argv[0])
print('path =', pathname)
print('full path =', os.path.abspath(pathname))
import os
print os.path.abspath(__file__)
Если у Вас есть даже относительный путь (в этом случае, это, кажется, ./
), можно открыть файлы относительно файла (файлов) сценария. Я использую Perl, но то же общее решение может применяться: Я разделил каталог на массив папок, тогда pop
от последнего элемента (сценарий), тогда push
(или для Вас, append
) на том, что я хочу и затем присоединяюсь к ним вместе снова и BAM! У меня есть рабочий путь, который указывает на точно, где я ожидаю, что это укажет, относительный или абсолютный.
, Конечно, существуют лучшие решения, как отправлено. Мне просто отчасти нравится мой.
Принятое решение для этого не будет работать, если вы планируете компилировать свои сценарии с использованием py2exe. Если вы планируете это сделать, это функциональный эквивалент:
os.path.dirname(sys.argv[0])
Py2exe не предоставляет переменную __ file __
. Для справки: http://www.py2exe.org/index.cgi/Py2exeEnvironment