Роль '#' в питоне 'if':

9

Я недавно экспортировал модель ArcGIS в python и просматривал скрипт, и меня смущает следующая строка:

if TRU_W_DatableFeatures == '#' or not TRU_W_DatableFeatures:

Какова роль «#»?

Kevin
источник

Ответы:

12

Вы заметите, что TRU_W_DatableFeaturesэто необязательный вход. Когда ArcGIS вызывает скрипт Python с необязательными аргументами, он передается #вместо необязательного аргумента, который не был заполнен. Это потому, что аргументы Python являются позиционными.

В противном случае, если вы вызывали этот скрипт из Python вместо ArcGIS, вы (возможно) не установили TRU_W_DatableFeatures.

Таким образом, это ifутверждение проверяет существование TRU_W_DatableFeatures, и все, что находится в этом ifутверждении, будет выполнено, только если оно TRU_W_DatableFeaturesсуществует.

om_henners
источник