Format() metodu ile format_map() metodunun farkı

İkisinin de Dictionary için kullanıldığını biliyorum amam farkını çözemedim. programiz sayfasında şu şekilde yazıyor ama kopyalamak ve metod çağırıldığı sürece yenisini oluşturmak derken neyi kastettiğini anlamadım

The only difference is that, the str.format(**mapping) copies the dict whereas str.format_map(mapping) makes a new dictionary during method call. This can be useful if you are working with a dict subclass.

Sacmalamis, iki metod da paslanan dictionary’i degistirmedigi veya dondurmedigi icin kopyasini cikartmanin bir anlami yok.

Fark surada: Bir tanesi parametre olarak dictionary alirken, digeri **kwargs aliyor.

Biri format(hede=1, hodo=2, **bir_dict, baska_deger=42, **baska_dict) gibi cagirabilirken, digeri anca format_map(mydict) seklinde cagrilabiliyor. Ikincinin faydasini da orneklerde vermis; __missing__ veya __getitem__ (miydi) gibi ozel methodlu veya defaultdict gibi ozel bir class kullanmak sadece format_map ile mumkun.

1 Beğeni

Buradaki “during method call” sözcük öbeğini “metod çağırma sırasında” diye çevirmek lazım aslında; bağlamdan bu çıkıyor.

1 Beğeni