Alternatif untuk Mengembalikan Berbilang Nilai daripada Fungsi Python
Isu biasa dalam pengaturcaraan ialah keperluan untuk mengembalikan berbilang nilai daripada fungsi. Beberapa kaedah menawarkan penyelesaian kepada masalah ini, masing-masing dengan kebaikan dan keburukannya.
Tuples
Tuple ialah pilihan mudah untuk mengembalikan berbilang nilai sambil mengekalkannya dalam susunan tertentu . Walau bagaimanapun, apabila bilangan nilai yang dikembalikan meningkat, tuple menjadi rumit dan terdedah kepada ralat.
Kamus
Kamus menyediakan pendekatan yang lebih tersusun, membolehkan anda memaparkan individu nilai menggunakan kekunci. Mereka menawarkan penyelesaian yang serupa dengan nametuples daripada C.
Kelas
Mencipta kelas khusus membolehkan pengembalian struktur tersuai. Kaedah ini memberikan fleksibiliti tetapi mungkin melibatkan lebih banyak kod boilerplate dalam menentukan kelas. Atribut __slots__ Python boleh mengoptimumkan ruang dengan menghapuskan overhed __dict__.
Kelas Data (Python 3.7 )
Kelas data menawarkan cara ringkas untuk mencipta kelas dengan khas terbina dalam kaedah dan anotasi jenis, memudahkan penciptaan pulangan struktur.
Senarai
Bill the Lizard mencadangkan menggunakan senarai, walaupun kaedah ini biasanya tidak digemari kerana potensi unsur jenis campuran dan kekurangan unsur yang ketara. kelebihan berbanding tupel dalam Python.
Tuple Dinamakan (Diutamakan Kaedah)
Untuk pendekatan yang ringkas dan teratur, tupel bernama Python (ditambah dalam 2.6) amat disyorkan. Mereka menggabungkan susunan dan kemudahan tupel dengan keupayaan untuk mengakses nilai mengikut nama.
Contoh Menggunakan Named Tuples:
import collections Point = collections.namedtuple('Point', ['x', 'y']) p = Point(1, y=2) print(p.x, p.y) # Output: 1 2
Named Tuple Menggunakan Python 3's Typing Library:
from typing import NamedTuple class Employee(NamedTuple): name: str id: int = 3 # default value employee = Employee('Guido') print(employee.id) # Output: 3
Akhirnya, kaedah terbaik untuk mengembalikan berbilang nilai bergantung pada keperluan khusus dan organisasi kod. Tuple bernama menawarkan keseimbangan kesederhanaan dan akses berstruktur, menjadikannya penyelesaian yang popular dan serba boleh untuk masalah biasa ini.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengembalikan Berbilang Nilai dengan Cekap daripada Fungsi Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!