2011-09-10 25 views
5

Bu eski modülü 2002'den beri düşünüyorum ve bu satır "import string" var. Python, dize türü değişkenlerini veya bir şeyleri kullanabilmek için önce bir dize modülünü açıkça içe aktarmanızı gerektirdi mi? Ben kodunda bu gibi kullanılabilir görmüyorum:python "string" modülü?

string.something 
+1

Yine de etrafta: http://docs.python.org/library/string.html – NullUserException

cevap

2

Bir import string ama asla string.something bkz görürseniz, birisi sadece kullanılmayan bir ithalat kaldırmak unuttum. str nesnelerin standart yöntemler artık olduklarını string bazı şeyleri olması kullanımı yaptı iken

, hala vardı ya

  1. kütüphane aktardıktan sonra string. ile önek bunları ya
  2. kullanımı from string import <whatever> sözdizimi. ileri/geri uyumluluk yeni dil özellikleri için Python tarafından kullanılan tetikler -

Genellikle, sadece kere bir şey düzgün ithal ama "açıkça kullanılan" asla from __future__ import with_statement ya da benzeri olduğunu görürsünüz.

0

sıra, eski sürümlerinde dize modülü gerçekten çok daha yararlı, ama son sürümlerinde string modülü işlevlerinin çoğu

Bu sayfayı size daha iyi bir görünüm verecektir .. dize yöntemleri olarak da mevcuttur: http://effbot.org/librarybook/string.htm

-1

Ambar Dediğim gibi , bir gereksiz ithalat gibi görünüyor ve RoeeeK sağ string modülün işlevlerinin çoğu bu arada dize yöntemlerdir söyleyerek de, sen "foobar".method() yerine string.function("foobar") yapabilirsiniz yani. Bununla birlikte, bazen modülü açıkça içe aktarmak hala yararlıdır; örneğin, geri arama durumunda:

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

Yukarıdakilerin de [chunk.strip() for chunk in [' foo ', ' bar ']] ile sağlanabileceğini unutmayın, bu nedenle bu durumda string içeri aktarılması gerekli değildir.

+1

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

+0

Ah, güzel. Bunu bilmeliydim, ama bir şekilde, ben yapmadım. Bunu işaret ettiğin için teşekkürler, cevabım anlamsız olsa da. :) – jena

1

string modülü, ascii_letters ve digits gibi a set of useful constants modüllerini içerir ve modül genellikle bu nedenle içe aktarılır.