Se entendi sua pergunta corretamente, você deseja verificar se está executando um script como uma ferramenta de script ou não. Se estiver sendo executado como uma ferramenta de script, você deseja definir algumas variáveis usando GetParameterAsText e, se estiver executando como autônomo, deseja usar algumas variáveis codificadas, isso está correto? Nesse caso, você pode fazer o seguinte:
if len(sys.argv) > 1:
#Assign input and output parameters for script tool
par = arcpy.GetParameterAsText(0)
else:
# Hard coded parameters for testing
par = 'Hello'
Ao verificar o tamanho de sys.argv, você está determinando quantos parâmetros estão sendo passados para o script. Sempre existe pelo menos um parâmetro (a localização do próprio script), portanto, se houver mais de um, você pode assumir que o ArcGIS os está enviando (a menos que você esteja passando argumentos de outro lugar).