2011-09-10 13 views
5

Quindi sto leggendo questo vecchio modulo da credo intorno al 2002 e ha questa riga "stringa di importazione". Python richiedeva di importare esplicitamente un modulo stringa prima di poter usare variabili tipo stringa o qualcosa del genere? Io non la vedo in questo modo utilizzato nel codice:python "string" module?

string.something 
+1

È ancora in giro: http://docs.python.org/library/string.html – NullUserException

risposta

2

Se vedi un import string ma non vedono mai string.something, qualcuno ha dimenticato di rimuovere un'importazione non utilizzati.

Mentre ci fatto uso ad essere alcune cose in string che sono ora i metodi standard di str oggetti, si aveva ancora a uno

  1. prefisso loro con string. dopo l'importazione della biblioteca, o
  2. uso Sintassi from string import <whatever>.

In genere, le uniche volte vedrete qualcosa correttamente importate, ma mai "usato esplicitamente" sono from __future__ import with_statement o simili - l'avanti/indietro compatibilità trigger utilizzato da Python per nuove funzionalità del linguaggio.

0

bene, nelle versioni più vecchie del modulo string era davvero molto più utile, ma nelle versioni più recenti la maggior parte delle funzioni del modulo di stringa sono disponibili anche come metodi delle stringhe ..

questa pagina vi darà un aspetto migliore: http://effbot.org/librarybook/string.htm

-1

Come Ambar detto, sembra essere un'importazione ridondante, e RoeeeK è anche ragione nel dire che la maggior parte delle funzioni del modulo string sono nel frattempo metodi delle stringhe, vale a dire che si può fare al posto di "foobar".method()string.function("foobar"). Tuttavia, a volte è ancora utile importare il modulo in modo esplicito; ad esempio, nel caso di callback:

map(string.strip, [' foo ', ' bar ']).

Si noti che quanto sopra può anche essere ottenuto da [chunk.strip() for chunk in [' foo ', ' bar ']], in questo caso l'importazione di string non è richiesta in questo caso.

+1

'map (str.strip, ['foo', 'bar'])' –

+0

Ah, bello. Mi sento come se avessi dovuto saperlo, ma in qualche modo, non l'ho fatto. Grazie per averlo sottolineato, anche se la mia risposta è inutile. :) – jena

1

Il modulo string contiene a set of useful constants, ad esempio ascii_letters e digits e il modulo viene spesso importato per tale motivo.