Die Rolle von '#' in einer Python 'if':


9

Ich habe kürzlich ein ArcGIS-Modell nach Python exportiert und habe das Skript überprüft. Die folgende Zeile verwirrt mich:

if TRU_W_DatableFeatures == '#' or not TRU_W_DatableFeatures:

Welche Rolle spielt das '#'?

Antworten:


12

Sie werden feststellen, dass dies TRU_W_DatableFeatureseine optionale Eingabe ist. Wenn ArcGIS ein Python-Skript mit optionalen Argumenten aufruft, wird es #anstelle eines nicht ausgefüllten optionalen Arguments übergeben. Dies liegt daran, dass Python-Argumente positionell sind.

Andernfalls, wenn Sie dieses Skript von Python anstelle von ArcGIS aufgerufen haben, können Sie es (möglicherweise) nicht festlegen TRU_W_DatableFeatures.

Diese ifAnweisung prüft also die Existenz von TRU_W_DatableFeatures, und was auch immer in dieser ifAnweisung enthalten ist, wird nur ausgeführt, wenn es TRU_W_DatableFeaturesexistiert.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.