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

  • FattySpins's channel

    FattySpins's

    17 Mayıs 2009
  • lane182videos

    lane182video

    6 EKİM 2011
  • Peyton

    Peyton

    28 Aralık 2008