Tilde operatörünün Python'da kullanımı nedir?
Düşünebileceğim bir şey, bir dizenin palindromik olup olmadığını kontrol etmek gibi bir dizenin veya listenin her iki tarafında bir şey yapmaktır:
def is_palindromic(s):
return all(s[i] == s[~i] for i in range(len(s) / 2))
Başka iyi kullanım var mı?
-False==0
) Bu kafa karıştırıcı, çünkü hakkında konuşuyordunuz ~
ve ~False == -1
bu Yanlış değil.
__neg__
) ile karşılaştırmaktı . Muhtemelen kullanmaya devam etmeliydim True
, örneğin -True == -1
, -2 veya False
yanlış olmayan, ~True
sonuca daha açık bir şekilde geri bağlayan ve ayrıca a'nın aritmetik olumsuzlaması bool
mantıksal olumsuzluğundan farklıdır. Derin olmaya çalışmıyordum. Sadece 3 operasyon ve bazen karışan altta yatan özel yöntemleri vurguladım.
~
Özel yöntemle uygulanan tekli tamamlayıcı operatörünün işleçle__invert__
ilgisi olmadığınınot
, bu da döndürülen değeri mantıksal olarak__bool__
(veya__nonzero__
2.x'te) reddettiğini unutmayın. Ayrıca-
, tarafından uygulanan tekli olumsuzlama operatörü ile de ilgisizdir__neg__
. Örneğin~True == -2
, hangisiFalse
yanlıştır-False == 0
, hangisi yanlıştır.