Print() dalam Python. Sintaks, ralat, hujah akhir dan sep

Cetak() – mungkin arahan pertama yang ditemui oleh pemula apabila mempelajari Python dari awal. Hampir semua orang bermula dengan ucapan ringkas pada skrin dan meneruskan kajian lanjut tentang sintaks, fungsi dan kaedah bahasa, tanpa memikirkan ciri tambahan. cetak (). Walau bagaimanapun, di Pythpada 3 arahan ini menyediakan akses kepada fungsi output data asas dengan parameter dan keupayaan yang wujud. Mengetahui ciri ini akan membolehkan anda mengoptimumkan output data untuk setiap kes tertentu.

Kelebihan Ciri cetak() dalam Python 3

Dalam versi ketiga Python cetak() termasuk dalam set fungsi asas. Semasa melakukan pemeriksaan jenis(cetak) maklumat dipaparkan: kelas 'dibina_fungsi_or_kaedah'. Perkataan dibina menunjukkan bahawa fungsi yang diuji adalah sebaris.

Tidak pedulihpada 3 objek keluaran (objeks) diletakkan dalam kurungan selepas perkataan cetak. Pada contoh keluaran ucapan tradisional, ia akan kelihatan seperti ini:

Untuk Python 3: print('Hello, Dunia!').

Dalam Python 2, pernyataan itu digunakan tanpa kurungan: cetak 'Hello, Dunia! '

Keputusan dalam kedua-dua versi adalah sama: Hello, Dunia!

Jika dalam versi kedua Python nilai selepas cetak dimasukkan ke dalam kurungan, maka tuple akan dipaparkan - jenis data yang merupakan senarai tidak boleh diubah:

print(1, 'first', 2, 'second')

(1, ' pertama', 2, ' kedua ')

Apabila cuba menanggalkan kurungan selepas itu cetak dalam versi ketiga Python, program ini akan memberikan ralat sintaks.

print("Hello, Dunia!")
Fail "", baris 1 cetakan "Hello, World!" ^ SyntaxError: Tiada kurungan dalam panggilan untuk 'mencetak'. Adakah anda maksudkan print("Hello, World!")?

 Keistimewaan sintaks print() dalam Python 3

Sintaks fungsi cetak () termasuk objek atau objek sebenar (objek), yang juga boleh dipanggil nilai (nilai) atau unsur (item), dan beberapa pilihan. Cara objek diberikan ditentukan oleh empat argumen bernama: pemisah elemen (September), rentetan yang dicetak selepas semua objek (akhir), fail di mana data dikeluarkan (fillet), dan parameter yang bertanggungjawab untuk penimbalan output (flush).

print(value, ..., sep='', end='n', file=sys.stdout, flush=False)

Panggilan fungsi boleh dilakukan tanpa menentukan nilai parameter dan walaupun tanpa sebarang objek: cetak (). Dalam kes ini, parameter lalai digunakan, dan jika tiada unsur, aksara rentetan kosong yang tidak dipaparkan akan dipaparkan – sebenarnya, nilai parameter akhir - 'n'. Panggilan sedemikian, sebagai contoh, boleh digunakan untuk lekukan menegak antara pin.

Semua argumen bukan kata kunci (objek) ditulis pada aliran data, ditukar kepada rentetan yang dipisahkan oleh September dan selesai akhir. Argumen Parameter September и akhir juga mempunyai jenis rentetan, ia mungkin tidak dinyatakan apabila menggunakan nilai lalai.

Parameter September

Nilai semua parameter cetak digambarkan sebagai hujah kata kunci September, akhir, fillet, flush. Jika parameter September tidak ditentukan, maka nilai lalainya digunakan: September= ”, dan objek output dipisahkan oleh ruang. Contoh:

cetak(1, 2, 3)

1 2 3

Sebagai hujah September anda boleh menentukan nilai lain, contohnya:

  • pemisah hilang sep=»;
  • keluaran baris baharu sep ='bukan ';
  • atau mana-mana talian:

cetak(1, 2, 3, sep='perkataan pemisah')

1 pemisah perkataan 2 pemisah perkataan 3

Parameter akhir

Secara lalai akhir='n', dan output objek berakhir dengan baris baharu. Menggantikan nilai lalai dengan argumen lain, sebagai contoh, akhir= ", akan menukar format data output:

print('one_', end=»)

print('dua_', tamat=»)

cetak('tiga')

satu dua tiga

Parameter fillet

berfungsi cetak () menyokong pengalihan keluar melalui parameter fillet, yang secara lalai merujuk kepada sys.stdout – keluaran standard. Nilai boleh ditukar kepada sys.stdin or sys.stderr. objek fail stdin digunakan pada input, dan stderr untuk menghantar petunjuk jurubahasa dan mesej ralat. Menggunakan parameter fillet anda boleh menetapkan output kepada fail. Ini boleh menjadi fail .csv atau .txt. Cara yang mungkin untuk menulis rentetan ke fail:

item fail = buka('printfile.txt','a')

ujian def (objek):

untuk elemen dalam objek:

cetak(elemen, fail=item fail)

fileitem.close()

ujian([10,9,8,7,6,5,4,3,2,1])

Pada output, elemen senarai akan ditulis kepada fail cetakan.txt satu setiap baris.

Parameter flush

Parameter ini mempunyai kaitan dengan penimbalan aliran data dan kerana ia adalah boolean, ia boleh mengambil dua nilai - Benar и Palsu. Secara lalai, pilihan dilumpuhkan: flush=Palsu. Ini bermakna menyimpan data daripada penimbal dalaman ke fail hanya akan berlaku selepas fail ditutup atau selepas panggilan terus ke siram (). Untuk menyimpan selepas setiap panggilan cetak () parameter perlu diberikan nilai Benar:

file_flush = buka(r'file_flush.txt', 'a')

cetak(«rekodtalianвfail«, file=file_flush, flush=Benar)

cetak(«rekodkeduatalianвfail«, file=file_flush, flush=Benar)

file_flush.close()

Satu lagi contoh menggunakan parameter flush menggunakan modul masa:

Print() dalam Python. Sintaks, ralat, hujah akhir dan sep

Dalam kes ini, hujah Benar parameter flush akan membenarkan nombor dipaparkan satu demi satu dalam tiga saat, manakala secara lalai semua nombor akan dipaparkan pada skrin selepas 15 saat. Untuk melihat secara visual kesan parameter flush, adalah lebih baik untuk menjalankan skrip dalam konsol. Hakikatnya ialah apabila menggunakan beberapa cangkerang web, khususnya, Jupyter Notebook, program ini dilaksanakan secara berbeza (tanpa mengambil kira parameter flush).

Mencetak Nilai Pembolehubah dengan cetakan()

Apabila memaparkan rentetan yang mengandungi nilai yang diberikan kepada pembolehubah, cukup untuk menentukan pengecam yang dikehendaki (nama pembolehubah) yang dipisahkan dengan koma. Jenis pembolehubah tidak boleh dinyatakan, kerana cetak menukar data dari sebarang jenis kepada rentetan. Berikut adalah contoh:

kepada = 0

b = 'Python dari awal'

cetak(a,'– nombor, а',b,'– selaras.')

0 ialah nombor dan Python dari awal ialah rentetan.

Alat lain untuk menghantar nilai pembolehubah kepada output ialah kaedah format. Cetak pada masa yang sama, ia bertindak sebagai templat yang bukannya nama pembolehubah dalam pendakap kerinting, indeks argumen kedudukan ditunjukkan:

kepada = 0

b = 'Python dari awal'

cetak('{0} ialah nombor dan {1} ialah rentetan.'.format(a,b))

0 ialah nombor dan Python dari awal ialah rentetan.

Bukan format simbol % boleh digunakan, yang berfungsi pada prinsip ruang letak yang sama (dalam contoh sebelumnya, kurungan kerinting bertindak sebagai ruang letak). Dalam kes ini, nombor indeks digantikan dengan jenis data yang dikembalikan oleh fungsi:

  • pemegang tempat %d digunakan untuk data berangka;
  • pemegang tempat %s adalah untuk rentetan.

kepada = 0

b = 'Python dari awal'

cetak('%d ialah nombor dan %s - tali.'%(a,b))

0 ialah nombor dan Python dari awal ialah rentetan.

Jika bukan pemegang tempat untuk integer %d nyatakan %sfungsi cetak akan menukar nombor kepada rentetan dan kod akan berfungsi dengan betul. Tetapi apabila menggantikan %s on %d mesej ralat akan dipaparkan kerana penukaran terbalik tidak dilakukan.

Print() dalam Python. Sintaks, ralat, hujah akhir dan sep

Kesimpulan

Menggunakan fungsi cetak pelbagai pilihan output data boleh dilaksanakan. Sebagai tambahan kepada kaedah yang diterangkan dalam artikel ini, terdapat cara lain untuk menggunakan alat ini yang akan tersedia semasa anda mendalami dunia pengaturcaraan Python.

Sila tinggalkan balasan anda