2012-09-26 18 views
7

Ben aşağıdaki kod parçası bakıyorum:Bir satırın sonuna yerleştirme python'da ne yapar?

totalDistance += \ 
     GetDistance(xCoords[i], yCoords[i], 
         xCoords[i+1], yCoords[i+1]) 

ve hangi += \ anlama geldiğini bilmiyor musun? Bir satırın sonunda, bir sonraki satırda (totalDist +=) bir hata ortaya çıkarmaya devam edeceğini belirtir ... (Ayrıca, eğik çizgiden sonra hiçbir şey olmayacağını belirtmek de önemlidir ...

cevap

17

\ hatta boşluk)

+= sadece ekler ve \ derhal (\ ve örtük \n) arasında herhangi bir karakter olmamalıdır aşağıdaki satırı dönüşünü kaçar geri

x = 1 
x += 1 # x is now 2 (same as x = x + 1) 
+3

+1 içeride oldukları için burada

totalDistance += GetDistance( xCoords[i], yCoords[i], xCoords[i+1], yCoords[i+1]) 

, yeni satırlar çizgi bitmez. Ayrıca, çoğu insanın bilmediği o kadar yabancı olmasının nedeni, çok sık kullanmak zorunda kalmamanızdır. Çoğu durumda, parantez içinde, parantez içinde veya parantez içinde (veya otomatik olarak) devam eden bir ifadeniz vardır; Tek yapmanız gereken bir sonraki satırı uygun şekilde girmektir. Bu gerçekten yararlı olan tek zaman, bir görevlendirmeden hemen sonra ayrılmak istediğiniz durumlar. – abarnert

+0

@abarnert Ve bundan sonra bile, PEP stil rehberinin, bunun yerine yalnızca ifade etrafında bir parantez kullanılmasını tavsiye ettiğine inanıyorum. – millimoose

+2

@millimoose: Bir ödev bir ifadedir, bir ifade değildir, bu yüzden onu parantez içinde sarmalayamazsınız. Öyleyse, görevlendirme operatöründen hemen sonra kırılmaya ihtiyacınız varsa, başka seçenek yoktur. (Tabii ki, operatörden hemen sonra gerçekten kırılmanız çok enderdir - örneğin, tüm rhs'leri parantez içine alabiliyordunuz - ama bunu daha önce açıkladım.) – abarnert

7

atar.

Ayrıca birkaç istisna vardır; Aşağıdakilerden uygun çifti içine yeni olduğu zaman hatları göz ardı edilir: Başka bir deyişle

  • []
  • ()
  • {}

aşağıdaki eşdeğerdir:

a= [1,2,3] 
a = [1, 
    2, 
    3] 
+4

Ek: parantezlerle çevrili yeni satırlar _and indentation_ yok sayılır –

4

\ kombinasyonu satırsonu tarafından düşürülen hat devam eder. \'u yeni satırdan kaçış olarak düşünebilirsiniz, böylece "satır sonu" anlamına gelmez.

Python'da, kodu genellikle \'un gereksiz olduğu şekilde düzenleyebilirsiniz, örn. onlar ()