Cara memperbaiki: syntaxerror: argumen posisi mengikuti argumen kata kunci
Kesalahan yang mungkin Anda temui di Python adalah:
SyntaxError : positional argument follows keyword argument
Kesalahan ini terjadi ketika Anda menggunakan argumen posisi dalam suatu fungsi setelah menggunakan argumen kata kunci .
Inilah perbedaan keduanya:
Argumen posisional adalah argumen yang tidak memiliki “kata kunci” di depannya.
- Contoh: fungsi_saya(2, 2)
Argumen kata kunci adalah argumen yang memiliki “kata kunci” di depannya.
- Contoh: fungsi_saya(a=2, b=2)
Jika Anda menggunakan argumen posisi setelah argumen kata kunci, Python akan menimbulkan kesalahan.
- Contoh: fungsi_saya(a=2, 2)
Contoh berikut menunjukkan bagaimana kesalahan ini dapat terjadi dalam praktiknya.
Contoh: Argumen posisi mengikuti argumen kata kunci
Misalkan kita memiliki fungsi berikut dalam Python yang mengalikan dua nilai lalu membaginya dengan sepertiga:
def do_stuff (a,b):
return a*b/c
Contoh berikut menunjukkan cara yang valid dan tidak valid untuk menggunakan fungsi ini:
Cara yang valid #1: semua argumen posisi
Kode berikut menunjukkan cara menggunakan fungsi kami dengan semua argumen posisi:
do_stuff ( 4,10,5 )
8.0
Tidak ada kesalahan yang dihasilkan karena Python tahu persis nilai apa yang akan digunakan untuk setiap argumen fungsi.
Metode Valid #2: Semua Argumen Kata Kunci
Kode berikut menunjukkan cara menggunakan fungsi kami dengan semua argumen kata kunci:
do_stuff(a= 4 , b= 10 , c= 5 )
8.0
Sekali lagi, tidak ada kesalahan yang terjadi karena Python tahu persis nilai apa yang akan digunakan untuk setiap argumen fungsi.
Metode Valid #3: Argumen Posisi Sebelum Argumen Kata Kunci
Kode berikut menunjukkan cara menggunakan fungsi kami dengan argumen posisi yang digunakan sebelum argumen kata kunci:
do_stuff( 4 ,b= 10 ,c= 5 )
8.0
Tidak ada kesalahan yang dihasilkan karena Python mengetahui bahwa nilai 4 harus ditetapkan ke argumen an .
Cara tidak valid: argumen posisi setelah argumen kata kunci
Kode berikut menunjukkan bagaimana kita dapat mencoba menggunakan fungsi dengan argumen posisi yang digunakan setelah argumen kata kunci:
do_stuff(a= 4 , 10 , 5 )
SyntaxError : positional argument follows keyword argument
Kesalahan terjadi karena kami menggunakan argumen posisi setelah argumen kata kunci.
Secara khusus, Python tidak mengetahui apakah nilai 10 dan 5 harus ditetapkan ke argumen b atau c , sehingga tidak dapat menjalankan fungsinya.
Sumber daya tambahan
Tutorial berikut menjelaskan cara memperbaiki kesalahan umum lainnya dengan Python:
Cara Memperbaiki KeyError di Pandas
Cara Memperbaiki: ValueError: Tidak dapat mengubah float NaN menjadi int
Cara Memperbaiki: ValueError: Operan tidak dapat disiarkan dengan bentuk