Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapakah `print(value, end=' ')` Menyebabkan SyntaxError dalam Python 3.x?

Mengapakah `print(value, end=' ')` Menyebabkan SyntaxError dalam Python 3.x?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-09 14:45:02948semak imbas

Why Does `print(value, end=' ')` Cause a SyntaxError in 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn