Rola „#” w pythonie „if”:

9

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 „#”?

Kevin
źródło

Odpowiedzi:

12

Zauważysz, że TRU_W_DatableFeaturesjest 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 ifstwierdzenie sprawdza istnienie TRU_W_DatableFeatures, i cokolwiek w tym ifstwierdzeniu zostanie wykonane, tylko jeśli TRU_W_DatableFeaturesistnieje.

om_henners
źródło