Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Membetulkan Ralat Sintaks Argumen Bersarang dalam Python 3?

Bagaimana untuk Membetulkan Ralat Sintaks Argumen Bersarang dalam Python 3?

DDD
Lepaskan: 2024-11-07 02:08:02
asal
805 orang telah melayarinya

How to Fix Nested Argument Syntax Errors in Python 3?

Sintaks Argumen Bersarang dalam Python 3

Kod Python 2 yang diberikan cuba mentakrifkan fungsi dengan argumen bersarang, tetapi sintaks ini tidak lagi disokong dalam Python 3.

Perihalan Ralat

Ralat yang dihadapi ialah:

SyntaxError: invalid syntax
Salin selepas log masuk

Isu khusus adalah dalam takrifan fungsi tambah:

def add(self, (sub, pred, obj)):
Salin selepas log masuk

Argumen Bersarang Membongkar

Dalam Python 2, adalah mungkin untuk menggunakan tupel bersarang sebagai argumen kepada fungsi, dengan fungsi membelah tuple semasa membongkar parameter. Walau bagaimanapun, dalam Python 3, hujah pembongkaran tuple telah dialih keluar.

Penyelesaian

Untuk menyelesaikan isu ini, anda perlu membongkar tuple secara manual dalam definisi fungsi. Ini boleh dilakukan dengan memberikan secara eksplisit setiap elemen untuk memisahkan pembolehubah:

def add(self, sub_pred_obj):
    sub, pred, obj = sub_pred_obj
Salin selepas log masuk

Maklumat Tambahan

  • Untuk fungsi lambda, anda tidak boleh menggunakan tugasan untuk membongkar. Sebaliknya, pertimbangkan untuk menggunakan pembolehubah tunggal dan pengindeksan untuk mengakses elemen tuple.
  • Alat seperti 2to3, modenisasi atau futurise boleh membantu dalam menukar kod Python 2.x kepada Python 3.x dengan mengenal pasti dan mencadangkan pembetulan untuk bersarang isu sintaks hujah.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat Sintaks Argumen Bersarang dalam Python 3?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan