[Python] R: Digest di Python, Volume 48, Numero 27

djmr70 a alice.it djmr70 a alice.it
Sab 20 Feb 2010 21:40:35 CET


Scusatemi sono un neofita ma come si fanno le parentesi graffe in IDLE?
gRAZIE
 

-----Messaggio originale-----
Da: python-bounces a lists.python.it per conto di python-request a lists.python.it
Inviato: sab 20/02/2010 12.00
A: python a lists.python.it
Oggetto: Digest di Python, Volume 48, Numero 27
 
Invia le richieste di iscrizione alla lista Python all'indirizzo
	python a lists.python.it

Per iscriverti o cancellarti attraverso il web, visita
	http://lists.python.it/mailman/listinfo/python
oppure, via email, manda un messaggio con oggetto `help' all'indirizzo
	python-request a lists.python.it

Puoi contattare la persona che gestisce la lista all'indirizzo
	python-owner a lists.python.it

Se rispondi a questo messaggio, per favore edita la linea dell'oggetto
in modo che sia più utile di un semplice "Re: Contenuti del digest
della lista Python..."


Argomenti del Giorno:

   1. Re: tabelle htm a csv (Marco Beri)
   2. Re: test [was: Re: Come fareste voi?] (Manlio Perillo)
   3. Re: test [was: Re: Come fareste voi?] (Alessandro Dentella)
   4. Re: Come fareste voi? (Enrico Franchi)
   5. Re: tabelle htm a csv (Nicola Larosa)
   6. Re: test [was: Re: Come fareste voi?] (Daniele Varrazzo)
   7. Re: test [was: Re: Come fareste voi?] (Alessandro Dentella)
   8. Re: test [was: Re: Come fareste voi?] (Daniele Varrazzo)


----------------------------------------------------------------------

Message: 1
Date: Fri, 19 Feb 2010 20:59:59 +0100
From: Marco Beri <marcoberi a gmail.com>
Subject: Re: [Python] tabelle htm a csv
To: ivan.marchesini a gmail.com, 	Discussioni generali sul linguaggio
	Python <python a lists.python.it>
Message-ID:
	<f2bb6bf51002191159tf89b123p69885501b7417c12 a mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

2010/2/19 Marco Beri <marcoberi a gmail.com>

A questo punto io userei Beatiful Soup per tirare fuori la tabella dalla
> stringa html
>

"Beautiful Soup"

Sorry.

-- 
http://python.thinkcode.tv - Videocorso di Python
http://stacktrace.it - Aperiodico di resistenza informatica
http://beri.it - Blog di una testina di vitello
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://lists.python.it/pipermail/python/attachments/20100219/1c7fa628/attachment-0001.htm 

------------------------------

Message: 2
Date: Fri, 19 Feb 2010 21:01:33 +0100
From: Manlio Perillo <manlio.perillo a gmail.com>
Subject: Re: [Python] test [was: Re: Come fareste voi?]
To: Discussioni generali sul linguaggio Python
	<python a lists.python.it>
Message-ID: <4B7EEE1D.1070605 a gmail.com>
Content-Type: text/plain; charset=ISO-8859-1

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Daniele Varrazzo ha scritto:
> [...]
>> Inoltre io non sono riuscito ad usare in modo utile l'opzione per cui
>> note/py.test aprono la shell di debug quando capita un errore, cosa che
>> invece funziona bene sia con nose che con py.test con test di tipo
>> unittest.
> 
> Perché, e qui lo dichiaro pubblicamente, i doctest sono la tecnologia di
> test più abusata e meno adatta che sia venuto in mente a chiunque abbia
> visto un prompt fatto così: >>>
> 

Concordo su tutto.
Cominci ad usare una cosa perchè è comoda, e finisci con l'abusarne,
insistendo anche quando perdi la comodità e l'espressività.


Ciao  Manlio
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkt+7h0ACgkQscQJ24LbaUS2OwCePgc1wlTLk8OrfI+3Xzty+Bfp
ZBcAn3UBMMs7kkfRMpLJvFO5Bhic0D9l
=/KF2
-----END PGP SIGNATURE-----


------------------------------

Message: 3
Date: Fri, 19 Feb 2010 22:51:12 +0100
From: Alessandro Dentella <sandro a e-den.it>
Subject: Re: [Python] test [was: Re: Come fareste voi?]
To: Discussioni generali sul linguaggio Python
	<python a lists.python.it>
Message-ID: <20100219215112.GA26048 a ubuntu>
Content-Type: text/plain; charset=iso-8859-1

> Perché, e qui lo dichiaro pubblicamente, i doctest sono la tecnologia di
> test più abusata e meno adatta che sia venuto in mente a chiunque abbia
> visto un prompt fatto così: >>>
> 
> I doctest sono un brillante modo di testare... la documentazione!!! da
> quando sono diventati un modo di testare il programma? Purtroppo da
> abbastanza presto, e sono uno strumento oscenamente scomodo per farlo, nel
> senso che costringono a contorsioni da kamasutra per eliminare la
> variabilità che c'è nell'output dei comandi [1] o per mettere insieme una
> test suite con setup e teardown. In tutto questo le docstring perdono il
> significato originale: essere documentazione concisa.
> 
> [1]
> http://docs.python.org/library/doctest.html#option-flags-and-directives
> 
> Ed Loper, autore di Epydoc (credo anche uno degli autori di doctest), ha
> usato solo doctest per documentare Epydoc stesso [2]. Ma tu guarda che si è
> dovuto inventare [3] per far girare una test suite un po' più complessa?!?!
> Ne è valsa la pena? A me non sembra.
> 
> [2]
> http://epydoc.svn.sourceforge.net/viewvc/epydoc/trunk/epydoc/src/epydoc/test/

A me pare che questo esempio sia un esempio dove la doctest abbia un senso e
sia anche più chiaro di quanto potrebbero essere degli unittest o test di
nose/py.test, che è probabilmntee simile a quello che dicevi prima: test
della documentazione.


> [3]
> http://epydoc.svn.sourceforge.net/viewvc/epydoc/trunk/epydoc/src/epydoc/test/util.py?revision=1502&view=markup

Questo molto meno, ma:

  1. probabilmente anche in uno unittest avrebbero dovuto esserci delle
     test/helper function fatte per rendere i test più leggibili...

  2. proprio perché ce ne è più di uno mi pare che sia corretto scegliere il
     migliore per ogni singola situazione. 

     E` corretto chiedere che si evitino contorsionismi strani, ma spesso la
     leggibilità di test fatti con doctest è decisamente elevata. 

Sono anche convinto che la flessibilità delle unittest (o simili) sia molto
maggiore in varie circostanze per cui non ci rinuncerei affatto.

sandro
*:-)


------------------------------

Message: 4
Date: Fri, 19 Feb 2010 23:16:23 +0100
From: Enrico Franchi <enrico.franchi a gmail.com>
Subject: Re: [Python] Come fareste voi?
To: Discussioni generali sul linguaggio Python
	<python a lists.python.it>
Message-ID: <02C5B1B0-CC91-4949-8A40-77312F0019DD a gmail.com>
Content-Type: text/plain; charset=iso-8859-1


On Feb 19, 2010, at 7:36 PM, Alessandro Dentella wrote:

> In questa lista si è sponsorizzato a più riprese nose, qualcuno può dire
> come si confronta con py.test?

Quoto quello che dice Daniele. Sono grosso modo equivalenti. Io ho
iniziato con nose perche' in quel periodo mi sembrava leggermente meglio.
Possibile anche che il mio giudizio fosse sbagliato, ma ormai...

Tra l'altro anche leggendo il libro di Tarek si ha la stessa impressione.

Quello che posso dirti e' che (senza essere esperto di py.test):

1. di fico ha il "disabilitamento booleano" di test
2. di fico ha funzioni di testing distribuito[0]
3. e' parte di un framework piu' grande (giudica tu se e' un bene o un male)
4. non ha un sistema di plugin come nose per essere integrato nel setup

Ciascuna fra la 1,2,4 potrebbe essere cambiata (aggiunta anche a nose o
aggiunta anche a py.test). Tarek consiglia nose "a meno che non ti serva
qualcosa che py.test ha e nose no".

Ognuno poi prova come preferisce.

-----
[0] che a me non servono *e* credo "in genere" non servano

> A me piaciono anche i doctest quando penso ai test come documentazione di
> API ma sia nose che py.test possono eseguire i test in formato doctest ma
> danno un sommario molto povero ovvero cosiderano un file.txt con dentro i
> test come un singolo test, quando il modulo doctest li considera
> sigolarmente. 

Ancora una volta sono d'accordo con Daniele. I doctest vengono facilissimamente
abusati. Alcune volte sono veramente comodi: per esempio per il codice molto
algoritmico li uso (eventualmente insieme a codice piu' mirato) per mostrare
il funzionamento di metodi e funzioni... quindi *molto* come documentazione. Ma,
a volte, anche come test vero e proprio.

Nel caso "generale" faticherei ad usarli.




------------------------------

Message: 5
Date: Fri, 19 Feb 2010 23:40:08 +0100
From: Nicola Larosa <nico a tekNico.net>
Subject: Re: [Python] tabelle htm a csv
To: Discussioni generali sul linguaggio Python
	<python a lists.python.it>
Message-ID: <4B7F1348.1080806 a tekNico.net>
Content-Type: text/plain; charset=UTF-8; format=flowed

Marco Beri wrote:
> A questo punto io userei Beatiful Soup per tirare fuori la tabella
> dalla stringa html

Io no. Anche di recente abbiamo (hanno) avuto problemi in ditta con
Beautiful Soup, e siamo passati a usare lxml.html . Anche il parser di
html5lib non è male.

Inoltre Beautiful Soup è praticamente non più mantenuto, vedi archivi di
it.comp.lang.python per dettagli.

-- 
Nicola Larosa - http://www.tekNico.net/

We appear to be the only screen entering mass production designed for
reading that offers color, video, longer battery life and works as-is
with existing software stacks (from OS to viewers) and in any lighting
condition including the pitch black and outside in direct sunlight and
integrates easily with touchscreens. - Mary Lou Jepsen, October 2009


------------------------------

Message: 6
Date: Sat, 20 Feb 2010 00:08:13 +0100
From: Daniele Varrazzo <piro a develer.com>
Subject: Re: [Python] test [was: Re: Come fareste voi?]
To: Discussioni generali sul linguaggio Python
	<python a lists.python.it>
Message-ID: <adbea8c93d9974b9befdf645481093fd a develer.com>
Content-Type: text/plain; charset=UTF-8

On Fri, 19 Feb 2010 22:51:12 +0100, Alessandro Dentella <sandro a e-den.it>
wrote:

>   1. probabilmente anche in uno unittest avrebbero dovuto esserci delle
>      test/helper function fatte per rendere i test più leggibili...

Il fatto è che in una unit test le funzioni helper sono codice messo a
fianco al codice, con funzioni che chiamano altre funzioni... normalissimo
python, no?

Una doctest è un'imbragatura sadomaso che costringe ad un'unica funzione
di test, ovvero "assert str(o) == s" con s costante. Qualunque test lo devi
ridurre a questo, tutti i metodi che ti aspetti in un framework di test
suite ricco (es. assertAlmostEqual...) te lo scordi e devi sempre starti ad
inventare un helper() per cui str(helper(o)) == s.

Se anche devi mettere funzioni helper in una test suite, hanno la
possibilità di lavorare su tipi di dati più ricchi, sfruttando tutto quello
che offre il linguaggio, anziché rimpiazzare stringhe su stringhe fino a
ridurre il risultato una costante da confrontare per eguaglianza col
prototipo (ah, a meno di IGNORE_EXCEPTION_DETAIL e NORMALIZE_WHITESPACE...
altre funzioni che trasformano testo in testo)

>   2. proprio perché ce ne è più di uno mi pare che sia corretto
scegliere
>   il
>      migliore per ogni singola situazione. 
> 
>      E` corretto chiedere che si evitino contorsionismi strani, ma
spesso
>      la
>      leggibilità di test fatti con doctest è decisamente elevata. 

Già parlare di metodologie è soggettivo, parlare di leggibilità forse lo è
anche di più... In ogni caso io definisco una docstring leggibile quando è
documentazione leggibile, non quando è un test leggibile.

E visto che i test *puoi* metterli altrove ma le docstring no, devono
stare nel modulo, e visto che 500 righe di test ci stanno bene su un metodo
di 10 righe, ma 500 righe di test in mezzo a metodi di 10 righe (e dico
proprio *in mezzo*, tra un metodo e l'altro)... io le docstring non le
ammiro.

> Sono anche convinto che la flessibilità delle unittest (o simili) sia
> molto
> maggiore in varie circostanze per cui non ci rinuncerei affatto.

Non ho intenzione di farti cambiare idea: visto che lo strumento è stato
citato, queste sono le mie considerazioni e i motivi per cui io non le uso
se non per testare documentazione. Secondo me la documentazione deve essere
esplicativa mentre i test devono essere esaustivi: visto i due obiettivi
spesso finiscono con l'essere in contraddizione preferisco tenerli
fisicamente separati e usare lo strumento migliore per l'obiettivo.

-- 
Daniele Varrazzo - Develer S.r.l. 
http://www.develer.com


------------------------------

Message: 7
Date: Sat, 20 Feb 2010 09:57:21 +0100
From: Alessandro Dentella <sandro a e-den.it>
Subject: Re: [Python] test [was: Re: Come fareste voi?]
To: Discussioni generali sul linguaggio Python
	<python a lists.python.it>
Message-ID: <20100220085721.GA1666 a ubuntu>
Content-Type: text/plain; charset=iso-8859-1

> > Sono anche convinto che la flessibilità delle unittest (o simili) sia
> > molto
> > maggiore in varie circostanze per cui non ci rinuncerei affatto.
> 
> Non ho intenzione di farti cambiare idea: visto che lo strumento è stato
> citato, queste sono le mie considerazioni e i motivi per cui io non le uso
> se non per testare documentazione. Secondo me la documentazione deve essere
> esplicativa mentre i test devono essere esaustivi: visto i due obiettivi
> spesso finiscono con l'essere in contraddizione preferisco tenerli
> fisicamente separati e usare lo strumento migliore per l'obiettivo.

non è che cerchi contrapposizione dove non c'è? Mi pare che le differenze
fra il mio ed il tuo punti di vista siano relativamente piccole.

La mia frase che cito era per confermare che anche io trovo una flessibilità
maggiore in *unittest* e simili (nose, py.test migliorano in vario modo ma non
stravolgono il concetto degli unittest) ed a questi non rinuncerei, ma non
rinuncerei neanche ai doctest quando voglio qualcosa che assomigli di più
alla documentazione.

[Per inciso non metto i test nelle docstring ma in file separati, proprio
 perché son convinto che una docstring troppo lunga non sia comoda.]

sandro
*:-)


------------------------------

Message: 8
Date: Sat, 20 Feb 2010 10:09:02 +0100
From: Daniele Varrazzo <piro a develer.com>
Subject: Re: [Python] test [was: Re: Come fareste voi?]
To: Discussioni generali sul linguaggio Python
	<python a lists.python.it>
Message-ID: <bd3e3aa4a4cc5a9dc8edfdb1b23c0741 a develer.com>
Content-Type: text/plain; charset=UTF-8

On Sat, 20 Feb 2010 09:57:21 +0100, Alessandro Dentella <sandro a e-den.it>
wrote:

> non è che cerchi contrapposizione dove non c'è? Mi pare che le
differenze
> fra il mio ed il tuo punti di vista siano relativamente piccole.

Scusami, ero un po' lanciato ;)

A presto, ciao!

-- 
Daniele Varrazzo - Develer S.r.l. 
http://www.develer.com


------------------------------

_______________________________________________
Python mailing list
Python a lists.python.it
http://lists.python.it/mailman/listinfo/python


Fine di Digest di Python, Volume 48, Numero 27
**********************************************



Alice Messenger ;-) chatti anche con gli amici di Windows Live Messenger e tutti i telefonini TIM!
Vai su http://maileservizi.alice.it/alice_messenger/index.html?pmk=footer
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome:        non disponibile
Tipo:        application/ms-tnef
Dimensione:  10370 bytes
Descrizione: non disponibile
Url:         http://lists.python.it/pipermail/python/attachments/20100220/1aa6dade/attachment-0001.bin 


Maggiori informazioni sulla lista Python