Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah Saya Boleh Mengeluarkan Berbilang Nilai dengan Cekap daripada Fungsi Python?
Mengekstrak Berbilang Nilai dengan Cekap daripada Fungsi Python
Dalam Python, mendapatkan semula berbilang nilai daripada fungsi kepada pembolehubah berbeza boleh menjadi cabaran operasi. Walaupun kelihatan intuitif untuk mengembalikan berbilang nilai secara langsung, seperti return i, kad, pendekatan ini menghasilkan tupel yang tidak sejajar dengan hasil yang diingini.
Memulangkan Tuple dan Membongkar
Untuk mengatasi halangan ini, pertimbangkan untuk mengembalikan tuple atau senarai yang boleh dibongkar selepas panggilan fungsi. Ini boleh dicapai menggunakan sintaks berikut:
def select_choice(): ... return i, card # or [i, card]
Selepas itu, gunakan pembongkaran untuk menetapkan nilai yang dikembalikan kepada pembolehubah berasingan:
my_i, my_card = select_choice()
Kaedah ini membolehkan pengekstrakan berbilang nilai, tetapi ia mungkin bukan penyelesaian yang paling elegan atau boleh dibaca. Selain itu, mengembalikan tuple mungkin mengehadkan fleksibiliti untuk pemfaktoran semula masa hadapan.
Pendekatan Alternatif
Dalam senario tertentu, pendekatan lain mungkin menawarkan fleksibiliti dan kebolehbacaan yang lebih besar.
Tuple Dinamakan:
Memulangkan tupel bernama memberikan alternatif yang lebih tersusun dan boleh dibaca. Ia membenarkan pemanggil mengakses medan tertentu mengikut nama, meningkatkan pemahaman kod.
from collections import namedtuple ChoiceData = namedtuple('ChoiceData', ['i', 'card', 'other_field']) def select_choice(): ... return ChoiceData(i, card, other_field)
Pemulangan Kamus:
Pilihan lain ialah mengembalikan kamus, memberikan kunci- pasangan nilai kepada nilai yang dikehendaki.
def select_choice(): ... return {'i': i, 'card': card, 'other_field': other_field}
Kelas Utiliti Tersuai:
Dalam senario yang lebih kompleks, mengembalikan contoh kelas utiliti tersuai boleh menawarkan modular dan penyelesaian yang boleh diperluaskan.
class ChoiceData: def __init__(self, i, card, other_field): # Implement initialization logic and ensure data integrity ... def select_choice(): ... return ChoiceData(i, card, other_field)
Pendekatan ini memanfaatkan prinsip pengaturcaraan berorientasikan objek untuk pengkapsulan yang lebih besar dan keupayaan pengesahan data.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Berbilang Nilai dengan Cekap daripada Fungsi Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!