python “chaîne” module?
Donc je suis en train de lire ce vieux module, je pense autour de 2002 et il a cette ligne "import string". Avez-Python vous obliger à importer une chaîne de module explicitement avant de pouvoir utiliser une variable de type chaine ou quelque chose? Je ne vois pas il est utilisé comme cela dans le code:
string.something
Il est toujours là: docs.python.org/library/string.html
OriginalL'auteur johnny | 2011-09-10
Vous devez vous connecter pour publier un commentaire.
Si vous voyez un
import string
, mais ne voit jamaisstring.something
, quelqu'un a oublié d'enlever une partie inutilisée de l'importation.Alors qu'il y ne utiliser pour avoir des choses en
string
qui sont maintenant des méthodes standard destr
objets, vous avez encore dûstring.
après l'importation de la bibliothèque, oufrom string import <whatever>
syntaxe.Généralement, les seules fois où vous verrez quelque chose correctement importés, mais jamais "utilisé explicitement" sont
from __future__ import with_statement
ou similaire - le avant/arrière compatibilité déclencheurs utilisés par Python pour les nouvelles fonctionnalités du langage.OriginalL'auteur Amber
La
string
module contient un ensemble de constantes utiles, commeascii_letters
etdigits
, et le module est encore souvent importés pour cette raison.OriginalL'auteur Carl Smith
bien, dans les anciennes versions de la chaîne de module était en effet beaucoup plus utile, mais dans les versions les plus récentes de la chaîne de fonctions du module sont également disponible dans la chaîne de méthodes..
cette page vous aidera à mieux vous regardez:
http://effbot.org/librarybook/string.htm
OriginalL'auteur RoeeK
Comme Ambar dit, il semble être redondant à l'importation, et RoeeeK est également raison de dire que la plupart des
string
fonctions du module sont quant à eux chaîne de méthodes, c'est à dire que vous pouvez faire"foobar".method()
au lieu destring.function("foobar")
. Parfois, cependant, il est toujours utile explicitement importer le module; par exemple, dans le cas de rappels:map(string.strip, [' foo ', ' bar '])
.Remarque que ci-dessus peuvent également être obtenus par
[chunk.strip() for chunk in [' foo ', ' bar ']]
, de sorte que l'importation destring
est en fait pas nécessaire dans ce cas.map(str.strip, [' foo ', ' bar '])
Ah, c'est gentil. Je me sens comme je devrais avoir connu cela, mais de toute façon, je n'ai pas. Merci pour cette remarque, même si elle fait ma réponse inutile. 🙂
OriginalL'auteur jena