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

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *