<br><br>
<div class="gmail_quote">2009/8/5 alberto rossini <span dir="ltr">&lt;<a href="mailto:albross_2000@hotmail.com">albross_2000@hotmail.com</a>&gt;</span><br>
<blockquote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote">
<div>Salve, sono un neofita di python e della programmazione in generale. Ho un problema con il manuale &#39;Pensare da informatico&#39; paragr. 5.3  Composizione quando viene chiamata una funzione all&#39;interno di un&#39;altra. Come faccio per fare in modo che le funzioni definite in altri script vengano riconosciute al momento della chiamata della funzione principale? Grazie e scusate l&#39;ignoranza</div>
</blockquote>
<div> </div>
<div>Ciao, </div>
<div> </div>
<div>quello che devi cercare nella documentazione si chiama &quot;import&quot;. Python ha un fondamentale concetto che č quello di namespace.</div>
<div>Immagina di avere un file di nome &quot;primo.py&quot; e un file di nome &quot;secondo.py&quot;, in cui hai definito la funzione second_function:</div>
<div># secondo.py</div>
<div>&quot;&quot;&quot;</div>
<div>This module exposes a single very basic function as a simple example.</div>
<div>&quot;&quot;&quot;</div>
<div> </div>
<div>def second_function(a, b):</div>
<div>  &quot;&quot;&quot; Simple example function, prints a message and returns the product of a and b.</div>
<div>  &quot;&quot;&quot;  </div>
<div>  print &quot;Within second_function with parameters %s and %b&quot; % (a, b)</div>
<div>  return a*b</div>
<div># fine di secondo.py</div>
<div> </div>
<div>Se all&#39;interno di primo.py scrivi import secondo, hai reso disponibile il nome &quot;second&quot; all&#39;interno del namespace in cui ti trovi e potrai usare la funzione riferendoti ad essa con secondo.second_function, cosi&#39;:</div>

<div> </div>
<div># primo.py</div>
<div>import secondo # Ora secondo e&#39; nel namespace</div>
<div> </div>
<div>if __name__ == &#39;__main__&#39;:</div>
<div>  c = secondo.second_function(3, 4) # puoi riferirti ai nomi presenti in secondo.py utilizzando un &#39;.&#39;</div>
<div>  print c</div>
<div> </div>
<div># fine di primo.py</div>
<div> </div>
<div>Naturalmente ci sono moltissime cose da approfondire, ma questo esempio semplice potrebbe darti un&#39;idea per iniziare.</div>
<div>Alcuni link utili:</div><a href="http://docs.python.it/html/tut/node8.html">http://docs.python.it/html/tut/node8.html</a> 
<div><a href="http://effbot.org/zone/import-confusion.htm">http://effbot.org/zone/import-confusion.htm</a></div>
<div> </div>
<div>ciao,</div>
<div>Francesco</div>
<div> </div></div>