uczę Python i nawet nie można napisać pierwszy przykład:Niepoprawna składnia podczas korzystania z "print"?
print 2 ** 100
daje SyntaxError: invalid syntax
wskazując na 2.
Dlaczego tak jest? Używam wersji 3.1
uczę Python i nawet nie można napisać pierwszy przykład:Niepoprawna składnia podczas korzystania z "print"?
print 2 ** 100
daje SyntaxError: invalid syntax
wskazując na 2.
Dlaczego tak jest? Używam wersji 3.1
To dlatego, że w Pythonie 3, one zastąpiły print
oświadczenie z print
funkcji.
Składnia jest teraz mniej więcej takie same jak wcześniej, ale to wymaga parens:
Z "what's new in python 3" docs:
Old: print "The answer is", 2*2
New: print("The answer is", 2*2)
Old: print x, # Trailing comma suppresses newline
New: print(x, end=" ") # Appends a space instead of a newline
Old: print # Prints a newline
New: print() # You must call the function!
Old: print >>sys.stderr, "fatal error"
New: print("fatal error", file=sys.stderr)
Old: print (x, y) # prints repr((x, y))
New: print((x, y)) # Not the same as print(x, y)!
Zobacz więcej: [Dlaczego instrukcja print nie jest pythonic?] (http://stackoverflow.com/questions/1053849/why-print-statement-is-not-pythonic) – Will
Trzeba nawiasów:
print(2**100)
Zmienili print
w Pythonie 3. W 2 było oświadczenie, teraz jest funkcją i wymaga nawiasów.
Składnia jest zmieniana w nowych wersjach 3.x zamiast starych wersjach 2.x: na przykład w Pythonie 2.x można napisać: print „Cześć nowy świat” ale w nowej wersji 3.x trzeba użyć nowej składni i napisać to tak: print ("Hi new world")
sprawdzić dokumentację: http://docs.python.org/3.3/library/functions.html?highlight=print#print
Gdzie znalazłaś ten przykład? Czy jest to książka lub strona internetowa? –
Może to być * Uczenie się Pythona *. –
jleedev jest poprawny; jest to Python OReilly Learning 3rd edition 2007. –