Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Saya Boleh Mengeluarkan Berbilang Nilai dengan Cekap daripada Fungsi Python?

Bagaimanakah Saya Boleh Mengeluarkan Berbilang Nilai dengan Cekap daripada Fungsi Python?

Linda Hamilton
Linda Hamiltonasal
2024-11-20 21:19:20430semak imbas

How Can I Efficiently Extract Multiple Values from a Python Function?

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!

Kenyataan:
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