Niedawno wyeksportowałem model ArcGIS do Pythona i przeglądałem skrypt i jestem zdezorientowany przez następujący wiersz:
if TRU_W_DatableFeatures == '#' or not TRU_W_DatableFeatures:
Jaka jest rola „#”?
Zauważysz, że TRU_W_DatableFeatures
jest to opcjonalne wejście. Gdy ArcGIS wywołuje skrypt w języku Python z opcjonalnymi argumentami, przekaże #
w miejsce opcjonalnego argumentu, który nie został wypełniony. Jest tak, ponieważ argumenty Pythona są pozycyjne.
W przeciwnym razie, jeśli wywołujesz ten skrypt z Pythona zamiast ArcGIS, możesz (nie) ustawić TRU_W_DatableFeatures
.
Zatem to if
stwierdzenie sprawdza istnienie TRU_W_DatableFeatures
, i cokolwiek w tym if
stwierdzeniu zostanie wykonane, tylko jeśli TRU_W_DatableFeatures
istnieje.