Geçenlerde fark ettim int()
bir şamandırayı 0'a yuvarlarken, tamsayı bölümü zemine doğru bir şamandıra yuvarladığını .
Örneğin:
-7 // 2 = -4
int(-7/2) = -3
Belirten belgeleri okudum:
int sınıfı (x; taban = 10)
Bir sayı veya dize x'ten oluşan bir tamsayı nesnesi döndürün veya herhangi bir bağımsız değişken verilmemişse 0 döndürün. X bir sayı ise, x döndür. int (). Kayan nokta sayıları için bu sıfıra doğru kısalır.
ve:
kat bölümü
En yakın tamsayıya yuvarlanan matematik bölümü . Kat bölümü operatörü //. Örneğin, 11 // 4 ifadesi, kayan noktalı gerçek bölümü tarafından döndürülen 2,75'in aksine 2 olarak değerlendirilir. (-11) // 4'ün -3 olduğunu unutmayın, çünkü -2.75 aşağı doğru yuvarlanır. Bkz. PEP 238.
Ancak benim için 2 benzer işlemin (tam sayıya kayan bölüm) farklı sonuçlar döndürmesi mantıksız görünüyor.
Fonksiyonlar arasındaki farklar için herhangi bir motivasyon var mı?
Teşekkür ederim.