|
|
Up |
|
|
  |
Author: michele.simionatomichele.simionato
Date: Aug 8, 2007 21:36
On Aug 8, 9:17 pm, Micetto Nero liamg.com.invalid> wrote:
> P.S.: l'uso di una funzione non sarebbe risolutivo, in quanto dovrei
> chiamarla ogni volta. Vorrei poter fare una cosa del genere (da mettere
> non so dove):
>
> metodi_da_intercettare = ['a', 'b', 'c']
>
> if metodo in metodi_da_intercettare:
> # bla bla bla
> metodo(classe, parametri)
> else:
> metodo(classe, parametri)
Assumendo di avere una classe contenente solo metodi da' intercettare
(a parte i metodi speciali e possibili metodi privati)
class MethodContainer(object):
def meth1(self):
...
def meth2(self):
...
|
| Show full article (0.89Kb) |
|
| |
1 Comment |
|
  |
Author:
Date: Aug 8, 2007 12:17
c.d.o.
salvo in file "classe.py" una classe da tutorial
>>>class Messaggio:
>>> def __init__(self, unaStringa):
>>> self.txt = unaStringa
>>> def mostra(self):
>>> print self.txt
Dopodiche in un file a parte...
>>> "import classe"
e provo a richiamare la funzione mostra...
>>>m1 = Messaggio("perche **** non lo importi")
>>>m1.visualizza()
che mi restituisce
>>>NameError: name 'Messaggio' is not defined
Non capisco: posso importare un oggetto ma non posso importare una
classe?
grazie!
ciao
|
| |
|
| |
2 Comments |
|
  |
Author: Micetto NeroMicetto Nero
Date: Aug 8, 2007 11:56
Nella mia classe ho numerosi metodi che iniziano tutti così:
def mio_metodo(self, other):
if not isinstance(other, miaClasse):
... # bla bla bla
come posso "intercettare" le chiamate a quei metodi e scrivere così una
sola volta quella porzione di codice?
Ho lo strano presentimento che si tratti di metaprogramming, ma sono
molto inesperto in questo campo :D.
|
| |
|
8 Comments |
|
  |
Author: AlfredoAlfredo
Date: Aug 8, 2007 09:19
def move_lista():
for i in range (21,99):
if colori[i] == side:
move(i,ply)
for i in range (0,len(lista),5):
pezzi[lista[4+i]] = lista[2+i]
pezzi[lista[3+i]] = 0
pezzi[:]=pezzi_finali[:]
side = 7
domanda da niubbo.. smile
- vorrei che l'espressione side = 7 fosse applicata alla fine del
ciclo. come faccio?? cosi come l'ho scritta side diventa 7 alla fine
del primo ciclo, invece io vorrei che diventasse 7 soltanto quando
tutti i cicli sono finiti.
ciao,
Alfredo
|
| |
|
3 Comments |
|
  |
Author: ZeDZeD
Date: Aug 8, 2007 04:00
Salve a tutti, stavo giochicchiando un po' con le curses e un po' per prova,
un po' per non avere a che fare con processi non necessari, stavo
sviluppando una moooolto semplice/istica funzione che "mimasse" il
comportamento di less con il terminale. Tuttavia ho un paio di problemi
abbastanza strani:
prima di tutto il codice (la variabile 'testo', in effetti, e' un vettore di
stringhe, una per riga)
---- >8 ---- >8 ---- >8 ---- >8 ---- >8 ---- >8 ---- >8 ---- >8 ---- >8 ----
from curses import initscr, error, endwin, KEY_DOWN, KEY_UP
<...>
|
| Show full article (1.60Kb) |
|
2 Comments |
|
  |
|
|
  |
Author: LeonardoLeonardo
Date: Aug 8, 2007 01:13
Sono _veramente_ alle prime armi.
Dopo un paio di settimane di letture sui tipi e le classi, ho cercato di
scrivere qualcosa (le classiche robettine da inizi...).
Però non mi è chiaro una cosa...
Perché quando si definisce una classe, i vari metodi devono sempre
riportare l'argomento self come primo? A che serve, se poi chiamando il
metodo della classe dall'esterno, non passo quell'argomento?
Sì, ho letto che serve a Python per gestire i metodi internamente alla
classe stessa, ma la cosa comunque resta poco chiara...
Se scrivo da shell
class matematica():
def somma(self,a,b):
return a+b
e poi:
operazioni=matematica
operazioni.somma(2,3)
|
| Show full article (1.15Kb) |
|
67 Comments |
|
|
|
|