Rumah > Artikel > pembangunan bahagian belakang > Mengapakah `print(value, end=' ')` Menyebabkan SyntaxError dalam Python 3.x?
Menyelesaikan Masalah SyntaxError untuk Cetakan dengan Hujah Kata Kunci end='
Dalam Python 3.x, menggunakan sintaks end=' ' semasa memanggil print () boleh mencetuskan SyntaxError. Ini sering ditemui apabila menaik taraf kod daripada Python 2.x, di mana cetakan masih dianggap sebagai pernyataan dan bukannya fungsi.
Penjelasan
Dalam Python 2.x , cetak secara sintaksis adalah pernyataan dan oleh itu tidak menerima hujah kata kunci. Akibatnya, print("foo" % bar, end=" ") ialah sintaks tidak sah dan akan menimbulkan SyntaxError.
Dalam Python 3.x, bagaimanapun, cetakan dinaik taraf kepada fungsi, membolehkannya ambil hujah kata kunci termasuk akhir. Ini bermakna print("foo" % bar, end=" ") kini sah dan dijangka sintaks dalam Python 3.x.
Resolusi
Jika anda' kembali menemui SyntaxError dalam Python 3.x, pastikan anda menggunakan sintaks yang betul: print(value, end=" ").
Untuk kemudahalihan kod, pertimbangkan untuk menggunakan simpulan bahasa berikut dalam Python 2.x :
print("foo" % bar, ) # Add a trailing comma to prevent a line break sys.stdout.write("foo" % bar + " ") # Use sys.stdout for direct output manipulation
Sebagai alternatif, jika boleh, anda boleh mendayakan import print_function masa hadapan dalam Python 2.x untuk menggunakan sintaks cetakan Python 3.x:
from __future__ import print_function
Atas ialah kandungan terperinci Mengapakah `print(value, end=' ')` Menyebabkan SyntaxError dalam Python 3.x?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!