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

  • Dellbear816

    Dellbear816

    4 Mart 2008
  • george sarintzotis

    george sarin

    2 Aralık 2007
  • TheJoeycool2010

    TheJoeycool2

    12 Temmuz 2010