Установка
GarlicSim мертв , но все еще доступно :
C:\Python27\Scripts>pip search garlicsim
garlicsim_lib - Collection of GarlicSim simulation packages
garlicsim_lib_py3 - Collection of GarlicSim simulation packages
garlicsim_wx - GUI for garlicsim, a Pythonic framework for
computer simulations
garlicsim - Pythonic framework for working with simulations
garlicsim_py3 - Pythonic framework for working with simulations
Используйте pip install garlicsim
для установкиit.
Использование
Согласно Руководство по стилю Python :
Импорт всегда помещается в начало файла, сразу послелюбые комментарии к модулю и строки документов, а также перед глобальными переменными и константами модуля.
Импорт должен быть сгруппирован в следующем порядке:
- импорт стандартной библиотеки
- импорт сторонних производителей
- импорт локальных приложений / библиотек
Между каждой группой импорта следует ставить пустую строку.
>>> import garlicsim.general_misc.context_manager as CM
>>> help(CM)
Help on module garlicsim.general_misc.context_manager in garlicsim.general_misc:
NAME
garlicsim.general_misc.context_manager - Defines the `ContextManager` and `ContextManagerType` classes.
FILE
c:\python27\lib\site-packages\garlicsim\general_misc\context_manager.py
DESCRIPTION
Using these classes to define context managers allows using such context
managers as decorators (in addition to their normal use) and supports writing
context managers in a new form called `manage_context`. (As well as the
original forms).
[...]
>>> from garlicsim.general_misc.context_manager import ContextManager
>>> help(ContextManager)
Help on class ContextManager in module garlicsim.general_misc.context_manager:
class ContextManager(__builtin__.object)
| Allows running preparation code before a given suite and cleanup after.
Альтернатива
Похоже, что это уже в Python 3.2 :
class contextlib.ContextDecorator - Базовый класс, который позволяет также использовать менеджер контекста в качестве декоратора.
И contextmanager столь же стар, как Python 2.5 :
from contextlib import contextmanager
@contextmanager
def tag(name):
print "<%s>" % name
yield
print "</%s>" % name
>>> with tag("h1"):
... print "foo"
...
<h1>
foo
</h1>