[Python] (senza oggetto)

Francesco Guerrieri f.guerrieri a gmail.com
Sab 8 Ago 2009 11:14:19 CEST


2009/8/5 alberto rossini <albross_2000 a hotmail.com>

> Salve, sono un neofita di python e della programmazione in generale. Ho un
> problema con il manuale 'Pensare da informatico' paragr. 5.3  Composizione
> quando viene chiamata una funzione all'interno di un'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'ignoranza
>

Ciao,

quello che devi cercare nella documentazione si chiama "import". Python ha
un fondamentale concetto che è quello di namespace.
Immagina di avere un file di nome "primo.py" e un file di nome "secondo.py",
in cui hai definito la funzione second_function:
# secondo.py
"""
This module exposes a single very basic function as a simple example.
"""

def second_function(a, b):
  """ Simple example function, prints a message and returns the product of a
and b.
  """
  print "Within second_function with parameters %s and %b" % (a, b)
  return a*b
# fine di secondo.py

Se all'interno di primo.py scrivi import secondo, hai reso disponibile il
nome "second" all'interno del namespace in cui ti trovi e potrai usare la
funzione riferendoti ad essa con secondo.second_function, cosi':

# primo.py
import secondo # Ora secondo e' nel namespace

if __name__ == '__main__':
  c = secondo.second_function(3, 4) # puoi riferirti ai nomi presenti in
secondo.py utilizzando un '.'
  print c

# fine di primo.py

Naturalmente ci sono moltissime cose da approfondire, ma questo esempio
semplice potrebbe darti un'idea per iniziare.
Alcuni link utili:
http://docs.python.it/html/tut/node8.html
http://effbot.org/zone/import-confusion.htm

ciao,
Francesco
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://lists.python.it/pipermail/python/attachments/20090808/9fe640a5/attachment.htm 


Maggiori informazioni sulla lista Python