2016-08-23 21 views
7

bir değişken adından sonra başkasının kodunu deşifre ediyorum ve aşağıdakilere bakın:Underscore Python

def get_set_string(set_): 
    if PY3: 
     return str(set_) 
    else: 
     return str(set_) 

değişken SONRA çizgi şey ifade ediyor mu ya da değişkenin adının bu sadece bir parçasıdır ve hiçbir şey ifade ?

+0

Sadece ismin bir parçası. Yazara sormanız gerekecek. –

+5

İsmi gölgelemekten kaçınmak için 'set', yerleşik set türünden ayırt etmek - [* "' single_trailing_underscore_ ': Python anahtar sözcüğüyle çakışmalardan kaçınmak için kullanılan" *] (https: //www.python .org/dev/peps/moral 0008/# tanımlayıcı adlandırma-stilleri). – jonrsharpe

+0

bunu açıkladığınız için teşekkür ederiz – nanachan

cevap

9

Herhangi bir semantik alt çizgi ile ilişkilendirilir.

single_trailing_underscore_: Python anahtar kelime ile çatışmaları önlemek için kongre tarafından kullanılan PEP 8, Python için stil kılavuzuna göre, kullanıcıların sondaki Python anahtar kelimeler ve/veya Python yerleşik ins ile çakışmaması için altını kullanmaya yöneltilen , Örneğin set_ kullanma

Tkinter.Toplevel(master, class_='ClassName')

, setleri için isim yerleşik yani set, gölgeli yapılmaz ve işlev çağrısı sırasında bilinen referansını kaybeder anlamına gelir.

4

Hiçbir şey ifade etmemektedir. Bunu yazan kişinin, bir kümeyi belirten değişken bir ad istediğine inanıyorum, ancak set, Python'da (bir küme oluşturan) bir türdür, bu yüzden alt çizgi ekledi.

İlgili konular