Ini menandakan akhir dari hanya parameter posisi , parameter yang tidak dapat Anda gunakan sebagai parameter kata kunci. Sebelum Python 3.8, parameter seperti itu hanya dapat ditentukan dalam C API.
Ini berarti key
argumen __contains__
hanya dapat diteruskan oleh posisi ( range(5).__contains__(3)
), bukan sebagai argumen kata kunci ( range(5).__contains__(key=3)
), sesuatu yang dapat Anda lakukan dengan argumen posisional dalam fungsi pure-python.
Lihat juga dokumentasi Klinik Argument :
Untuk menandai semua parameter sebagai posisi saja di Klinik Argument, tambahkan /
satu baris dengan sendirinya setelah parameter terakhir, indentasi sama dengan baris parameter.
dan (tambahan terbaru untuk) FAQ Python :
Garis miring dalam daftar argumen fungsi menunjukkan bahwa parameter sebelum itu hanya posisional. Parameter hanya posisi adalah yang tanpa nama yang dapat digunakan secara eksternal. Saat memanggil fungsi yang menerima parameter hanya posisi, argumen dipetakan ke parameter hanya berdasarkan posisi mereka.
Sintaksis sekarang menjadi bagian dari spesifikasi bahasa Python, pada versi 3.8 , lihat PEP 570 - Parameter Hanya-Posisi Python . Sebelum PEP 570, sintaks sudah disediakan untuk kemungkinan penyertaan di masa depan dalam Python, lihat PEP 457 - Sintaks Untuk Parameter Hanya-Posisi .
Parameter hanya-posisi dapat mengarah ke API yang lebih bersih dan lebih jelas, membuat implementasi Python murni dari modul C-only lebih konsisten dan lebih mudah untuk dipelihara, dan karena parameter hanya-posisi memerlukan proses yang sangat sedikit, mereka menyebabkan kode Python lebih cepat.
/
token, karena "ini adalah operasi terbalik*
" menunjukkan, bahwa Python hanya sedikit gila. Ini semacam sinestesia.Forward Slash (/) menunjukkan semua argumen sebelumnya hanya argumen posisional. Fitur argumen hanya posisional ditambahkan dalam python 3.8 setelah PEP 570 diterima. Awalnya notasi ini didefinisikan dalam PEP 457 - Notasi untuk Notasi Untuk Parameter Hanya-Posisi
Mari kita ambil contoh berikut
Di sini, di atas, definisi fungsi parameter a dan b adalah hanya-posisi, sedangkan x atau y dapat berupa posisi atau kata kunci.
Panggilan fungsi berikut ini valid
Namun, pemanggilan fungsi berikut ini tidak valid yang menimbulkan pengecualian TypeError karena a, b tidak dilewatkan sebagai argumen posisi alih-alih dilewatkan sebagai kata kunci
Banyak fungsi bawaan di python menerima argumen hanya posisi di mana melewati argumen dengan kata kunci tidak masuk akal. Misalnya fungsi bawaan len hanya menerima satu argumen posisi (saja), Di mana memanggil len sebagai len (obj = "hello world") mengganggu keterbacaan, periksa bantuan (len).
Parameter hanya posisi membuat fungsi c / library yang mendasarinya mudah dipelihara. Ini memungkinkan nama parameter hanya parameter posisi menjadi perubahan di masa mendatang tanpa risiko melanggar kode klien yang menggunakan API
Last but not least, parameter hanya posisi memungkinkan kita untuk menggunakan nama mereka untuk digunakan dalam argumen kata kunci panjang variabel. Lihat contoh berikut
Parameter hanya posisi lebih baik Dijelaskan di sini di Jenis argumen fungsi dalam python: Parameter Hanya Posisi
Sintaks parameter hanya-posisi secara resmi ditambahkan ke python3.8. Lihat apa yang baru python3.8 - hanya argumen posisi
Terkait PEP: PEP 570 - Parameter Hanya-Posisi Python
sumber