Sobes.tech
Junior

Fonksiyona argümanlar nasıl iletilir: referansla mı yoksa değerle mi?

sobes.tech yapay zeka

AI'dan gelen yanıt

Python'da argümanlar tam olarak referansla mı yoksa değerle mi geçirilir, değil, genellikle "nesne referansı ile geçiş" veya "paylaşım ile geçiş" olarak adlandırılan bir mekanizma ile geçirilir.

Bu şu anlama gelir:

  • Bir fonksiyona argüman geçirilirken, nesneye bir referans iletilir.
  • Eğer nesne değiştirilebilir ise (örneğin, liste, sözlük), fonksiyon içindeki değişiklikler dışarıda da görülecektir.
  • Eğer nesne değiştirilemez ise (örneğin, sayı, dize, demet), fonksiyon içinde değiştirmeye çalışırken yeni bir nesne oluşturulur ve fonksiyon dışındaki orijinal nesne değişmeden kalır.

Değiştirilebilir nesneler:

# Değiştirilebilir nesne (liste)
def modify_list(items):
    items.append(4)

my_list = [1, 2, 3]
modify_list(my_list)
# my_list şimdi [1, 2, 3, 4]

Değiştirilemez nesneler:

# Değiştirilemez nesne (sayı)
def modify_number(num):
    num = num + 1

my_number = 5
modify_number(my_number)
# my_number hala 5