2010-10-19 24 views
22

Django kaynak kodunu okuyarak, bazı ifadeler yer:Python'da '_' anlamı nedir?

class Field(object): 
    """Base class for all field types""" 
    __metaclass__ = LegacyConnection 

    # Generic field type description, usually overriden by subclasses 
    def _description(self): 
     return _(u'Field of type: %(field_type)s') % { 
      'field_type': self.__class__.__name__ 
     }  
    description = property(_description) 

class AutoField(Field): 
    description = _("Integer") 

Ben 'Tamsayı' olarak açıklamasını ayarlayabilir biliyorum ama sözdizimi anlamıyorum: description = _("Integer").
Bazı yardımlar olabilir mi?

+0

olası yinelenen [\ _ Python değişken adı olarak] (http://stackoverflow.com/questions/1739514/as-variable-name-in-python) –

cevap

6

bu

gettext fonksiyonu için kullanılır iyi, yani django açıklandığı gibi unicodetext olarak ele alır here

+0

anladım, detay mesajı için teşekkürler! :) – Beyonder

13

Değil duruma bir cevap ama daha genel "python '_' anlamı nedir?":

interaktif modda yılında bir _

değişken atanan değildi Son sonucu dönecektir
>>> 1 # _ = 1 
1 
>>> _ # _ = _ 
1 
>>> a = 2 
>>> _ 
1 
>>> a # _ = a 
2 
>>> _ # _ = _ 
2 
>>> list((3,)) # _ = list((3,)) 
[3] 
>>> _ # _ = _ 
[3] 

Emin değilim, ancak bir değişkene atanmamış her ifade aslında _'a atanmış gibi görünüyor.

+4

Python programında başka bir '_' kullanımı var gibi görünüyor. gibi: I_need, _, I_need_2 = ('a', 'b', 'c'); Bu durumda, tuple'daki ikinci değeri umursamıyorsunuz, bu nedenle zamanınızı, kodu daha kolay okunan bu gereksiz değerler için bazı değişken isimleri düşünmek için kaydediyor. – Beyonder

+0

@Beyonder: Doğru, ama bu durumda diğer değişkenler gibi davranıyor, sadece en unutulabilir ismi kullanmak mümkün '_' demek için bir throwaway değişkenim. –

+0

Matlab'ın "ans" eşdeğeri mi? – David

0

_ ekranda son geçerli çıkışı gösterir. Sistem varsayılan olarak çıktının kopyasını bu _ değişkenine kaydeder. Yazdırma işlevi kullanılarak yazdırılan dizge için geçerli değildir, ancak değişkende saklanan dizeyi saklıyorum. arasında

enter image description here