Произвести оплату через PayPal API в ASP.NET Core

Если вы хотите избежать дублирования кода и используете версию Python до 3.3 (где contextlib.ExitStack недоступен), вы можете сделать что-то вроде:

class dummy_context_mgr():
    def __enter__(self):
        return None
    def __exit__(self, exc_type, exc_value, traceback):
        return False

или:

import contextlib

@contextlib.contextmanager
def dummy_context_mgr():
    yield None

, а затем использовать его как:

with get_stuff() if needs_with() else dummy_context_mgr() as gs:
   # do stuff involving gs or not

Вы также можете заставить get_stuff() возвращать разные вещи на основе needs_with().

0
задан Sajad Jaward 16 January 2019 в 12:12
поделиться