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

  • Chuck Testa

    Chuck Testa

    14 AĞUSTOS 2011
  • Dive In

    Dive In

    17 Temmuz 2013
  • Mary Jane Tauyan

    Mary Jane Ta

    20 AĞUSTOS 2009