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

  • HDstarcraft

    HDstarcraft

    12 Mayıs 2009
  • MrExcite96

    MrExcite96

    17 ŞUBAT 2011
  • SuppressedStorm

    SuppressedSt

    11 AĞUSTOS 2013