SORU
31 Mayıs 2011, Salı


Neden baskı gönüllü olarak Python 2.7 parantez?

Python 2.7 de aşağıdaki aynısını yapacağız

print("Hello, world!") # Prints "Hello, world!"

print "Hello, world!" # Prints "Hello, world!"

Aşağıdaki ancak

print("Hello,", "world!") # Prints the tuple: ("Hello,", "world!")

print "Hello,", "world!" # Prints the words "Hello, world!"

Python 3'te.x print parantez zorunlu, aslında bir işlev yapıyor, ama 2.7 de farklı sonuçlar ile çalışır. Ben başka print biliyor Python 2.7 ne yapmalıyım?

CEVAP
31 Mayıs 2011, Salı


Python 2'de.x print aslında özel bir açıklama, bir işlev* değil.

Böyle bir şey kötü olabilir nedeni de budur: lambda x: print x

(expr) kayıt Düzeni (expr sonuçları) oluşturmaz, ama , unutmayın. Bu büyük olasılıkla print (x) ve Python 2.7 print (x, y) arasında karışıklık olur

(1)   # 1 -- no tuple Mister!
(1,)  # (1)
(1,2) # (1,2)
1,2   # (1,2) -- and no parenthesis :) [See below for print caveat.]

Ancak, print beriözel bir sözdizimi tablosu/dilbilgisi yapısıPython 2'de.x, parantez olmadan, ,'özel bir şekilde - ve . s davranır sonra ^em>değilbir Demet oluşturun. print deyimi bu özel tedavi , izleyen varsa veya farklı bir şekilde davranmasını sağlar.

Mutlu kodlama.


*Python 2 print Bu davranış Python 3 için değiştirilebilir:

from __future__ import print_function

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Fr. Eckle Studios

    Fr. Eckle St

    29 Kasım 2006
  • Matthew Morrill

    Matthew Morr

    15 EKİM 2011
  • ModNation Racers H.Q.

    ModNation Ra

    31 Ocak 2010