Her şeyden önce, from __future__ import print_function
komut dosyanızdaki ilk kod satırı olması gerekir (aşağıda belirtilen bazı istisnalar dışında). İkincisi, diğer yanıtların da söylediği gibi, print
şimdi bir işlev olarak kullanmalısınız . Bütün mesele bu from __future__ import print_function
; print
işlevi Python 3'ten Python 2.6 + ' ya getirmek için .
from __future__ import print_function
import sys, os, time
for x in range(0,10):
print(x, sep=' ', end='') # No need for sep here, but okay :)
time.sleep(1)
__future__
ifadelerin dosyanın en üstüne yakın olması gerekir çünkü bunlar dille ilgili temel şeyleri değiştirirler ve bu nedenle derleyicinin bunları baştan bilmesi gerekir. Gönderen belgeler :
Gelecekteki bir ifade, derleme sırasında özel olarak tanınır ve işlenir: Çekirdek yapıların anlambilimindeki değişiklikler genellikle farklı kodlar oluşturularak uygulanır. Hatta yeni bir özelliğin yeni uyumsuz sözdizimi (yeni ayrılmış bir sözcük gibi) sunması da söz konusu olabilir, bu durumda derleyicinin modülü farklı şekilde ayrıştırması gerekebilir. Bu tür kararlar çalışma zamanına kadar ertelenemez.
Dokümantasyon ayrıca bir __future__
ifadeden önce gelebilecek tek şeyin dokümanlar , yorumlar, boş satırlar ve diğer gelecek ifadeler olduğundan bahsedilir.