Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah saya boleh mengubah suai integer yang dihantar ke fungsi dalam Python?

Bagaimanakah saya boleh mengubah suai integer yang dihantar ke fungsi dalam Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-06 01:00:02864semak imbas

How can I modify an integer passed to a function in Python?

Melalui Integer melalui Rujukan dalam Python

Dalam Python, integer tidak boleh berubah, bermakna apabila dibuat, nilainya tidak boleh diubah. Ini menimbulkan persoalan tentang cara menghantar integer melalui rujukan, membenarkan pengubahsuaian yang dibuat dalam fungsi dicerminkan dalam pembolehubah asal.

Melalui Bekas Boleh Berubah

Semasa tidak mungkin untuk menghantar integer melalui rujukan terus, anda boleh menghantarnya dalam bekas boleh ubah, seperti senarai:

def change(x):
    x[0] = 3

x = [1]
change(x)
print(x)

Output:

[3]

Dalam contoh ini, kami buat senarai x yang mengandungi satu elemen. Kami kemudian menghantar x kepada fungsi tukar, yang mengubah suai nilai pada indeks 0. Memandangkan senarai boleh berubah, perubahan ini berterusan walaupun selepas fungsi kembali.

Mengembalikan Objek Baharu

Pilihan lain ialah mengembalikan objek baharu dengan nilai yang diubah suai daripada fungsi:

def multiply_by_2(x):
    return 2 * x

x = 1
x = multiply_by_2(x)

Dalam kes ini, fungsi darab_dengan_2 mengembalikan objek baharu dengan nilai dua kali ganda, yang kemudiannya diberikan kepada x . Integer asal x kekal tidak berubah.

Amalan Terbaik

Apabila menghantar integer kepada fungsi, pertimbangkan amalan terbaik berikut:

  • Jika anda perlu mengubah suai nilai dalam pembolehubah asal, gunakan bekas boleh ubah seperti yang diterangkan di atas.
  • Jika anda hanya perlu menggunakan nilai yang diubah suai, kembalikan objek baharu daripada fungsi tersebut.
  • Elakkan menggunakan pembolehubah global, kerana ini boleh membawa kepada potensi konflik dan isu kebolehbacaan kod.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengubah suai integer yang dihantar ke fungsi dalam 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