VS Code'da
Ctrl
'ye basılı tutup tıklarsak şu çıkıyor karşımıza:
Eki Görüntüle 2245844
Görüldüğü üzere
@property
decoratorıyla decorate edilmiş. Burada ben de hakim olmadığım için detaya giremeyeceğim.
Sorunuzun cevabı
"yesn't" gibi geldi bana: Hem evet hem hayır.
Köşeli parantezin nasıl çalıştığına dair şuradaki ilk cevapta güzel bir açıklama yapılmış:
So .loc and .iloc are not your typical functions. They somehow use [ and ] to surround the arguments so that it is comparable to normal array indexing. However, I have never seen this in another li...
stackoverflow.com
Şöyle ki siz bir sınıfın
__getitem__
metodunu yazarsanız köşeli parantezi tıpkı normal parantezle fonksiyon çağırırmışçasına kullanabiliyorsunuz:
x = obje[...]
. Üzerine
__setitem__
metodu da
obje[...] = 1
gibi atamalar yapmanıza olanak tanıyor.
df.loc
'un döndürdüğü şey bir
_LocIndexer
nesnesi ve bu
_LocIndexer
sınıfında -daha doğrusu türediği
_LocationIndexer
sınıfında- bu iki metot yazılmış, bu sayede
df.loc[...]
çalışıyor. Dikkat edin ki burada köşeli parantezle
loc
ayrı şeyler yani direkt
df.loc
da yazabilirsiniz, her ne kadar anlamsız olursa da:
İrdelemenize bayıldım. Çalışma mantığını kavramak adına yaptığınız sorgulamaların asla zaman kaybı olduğunu düşünmüyorum. Elinizdeki aracı daha iyi tanımaya çalışmanız çok hoş.