+/- инициализация зрителя в фипах с try, кроме простой инициализации - PullRequest
0 голосов
/ 11 января 2020

В примере из документации fipy следующий код используется для "создания средства просмотра, чтобы увидеть меня sh":

viewer = None
if __name__ == '__main__':
    try:
        viewer = Viewer(vars=phi, datamin=-1, datamax=1.)
        viewer.plotMesh()
        input("Irregular circular mesh. Press <return> to proceed...") # doctest: +GMSH
    except:
        print("Unable to create a viewer for an irregular mesh (try Matplotlib2DViewer or MayaviViewer)"

Может кто-нибудь объяснить мне, почему этот способ выбран из упрощенной версии:

viewer = Viewer(vars=T, datamin=T0, datamax=Tu)
viewer.plotMesh()
input("Irregular circular mesh. Press <return> to proceed")

Я полагаю, это связано с вопросом, находится ли код в основной программе или что-то импортировано, но я пока не совсем понимаю преимущества / недостатки и был бы признателен, чтобы уточнить, кто-то помогает мне:)

1 Ответ

1 голос
/ 12 января 2020

Нет веских причин. Первоначально этот бит (14 лет go) был жестко запрограммирован для использования определенной библиотеки графиков, которая в то время была единственной, способной отображать нерегулярные сетки. Мы не хотели, чтобы пример был отменен только потому, что конкретная библиотека печати не была установлена.

Это ограничение больше не выполняется, и, фактически, мы даже больше не поддерживаем эту библиотеку печати, но мы никогда не замечали, что try-except больше не нужен, поскольку код пересматривался годами.

Спасибо за сообщение об этой проблеме ( # 688 ).

...