Pythontr

husonet | Tarih: 22.09.2014

Python Operatörleri

Python operatörleri nelerdir?

Gerçek değeri sınama

  • None
  • False
  • Herhangi bir sayısal tür, örneğin, 0, 0 L, 0.0, 0j sıfır.
  • Herhangi boş bir demet yada listeler '', (), [].
  • Herhangi boş sözlükler {}.
  • Kullanıcı tanımlı sınılar __nonzero__() yada __len__() methodları, geri dönüş değerleri 0 veya boolean değerler olacaktır.

Boolean Operatörleri

Öncelik sırasına göre boolean operatörleri aşağıda sıralanmıştır.




OperasyonDönen Değer
x or yeğer x false ise y değerine değilse x değerini verir
x and yeğer x false ise x değerini değil ise y değişkenini verir
not xeğer x false ise True değil ise False döndürür


Karşılaştırmalar

Karşılaştırma işlemleri tüm nesneler için geçerlidir.




OperatörAçıklama
<Küçük ise
<=Küçük ve eşit ise
>Büyük ise
>=Büyük ve eşit ise
==Eşitlik
!=Eşitlik değil
isNesne kimliği
is notNesne kimliği değilse

Not: != yerine <> kullanılabilir bu durum geriye uyumluluk açısından sürdürülmektedir fakat kullanımı tavsiye edilmez. Yeni kodlarınızda daima bu şekilde != kullanınız.



Numerik Tipler: int, float, long, complex

Dört faklı sayısal tür mevcuttur: Tam sayı, uzun tam sayı, kayan noktalı sayı ve karmaşık sayılar. Tam sayılar en az 32 bit değer alabilirler. Kod yazdığınız platform üzerinde sys.maxint komutunu kullanarak deteklenen boyutu görebilirsiniz ve tekrar ayarlayabilirsiniz. Uzun tam sayılar ise sınırsız hassas sayılardır. Uzun kayan noktalı sayılar hassas sayılardır, sys.float_info komutunu kullanarak sisteminiz üzerinde desteklenen sayı boyutlarının bilgilisini alabilirsiniz. Tipi type(veri) complex olarak cevap veriyorsa o sayı karmaşık sayıdır.




OperasyonDönen Değer
x + yx ve y değişkenini toplar
x - yx değişkeninden y değişkenini çıkarır
x * yx değişkeni ile y değişkenini çarpar
x / yx değişkenini y değişkenine böler
x // yx değişkeni içinde y değişkenin kat sayısını arar Örn: 10 // 4 = 2
x % yBölme işleminde x / y kalan kısmını döndürür
-xx değişkenini negatif yapar
+xx değişkenini pozitif yapar
abs(x)x değişkenini pozitif yapar. Mutlak değer büyüklüğüdür.
int(x)x değişkenini integer tipine dönüştürür.
long(x)x değişkenini long integer tipine dönüştürür.
float(x)x değişkenini float 'noktalı veri' tipine dönüştürür.
complex(x)x değişkenini karmaşık veri tipine dönüştürür.
c.conjugate()karmaşık sayı c bağı içerir. (Reel sayılar üzerinde Kimlik)
divmod(x, y)Dönen değerler (x // y, x % y)
pow(x, y)x=10, y=3 ise yapılacak işlem 10 * 10 * 10
x ** yx=10, y=3 ise yapılacak işlem 10 * 10 * 10


Ayrıca tüm sayılar Real tipler (int, long, float) tipler üzerinde aşağıdaki işlemleride yapabiliriz



OperasyonDönen Değer
math.trunc(x)x float ise int olarak döndürür Örneğin x = 10.2 ise bu işlem sonucunda 10 döner
round(x[, n])Eğer x=10.2 ise 10 yuvarlar fakat x = 10.5 ise 11 e yuvarlar. n ise kuruş kısmında yuvarlama yapma hassasiyetini ayarlar
math.floor(x)En büyük tam sayıya yuvarlar <= x
math.ceil(x)En büyük tam sayıda kuruş hanesi var ise bir üst tamsayıya yuvarlar <= x


Tamsayı türleri üzerinde bitsel işlemler

Bit düzey işlemleri yalnızca tamsayılar için mantıklıdır. Negatif sayılar (taşma işlemi sırasında oluşan bit yeterince büyük bir sayı olarak varsayılmıştır) onların en son tamamlayıcı değeri olarak kabul edilir.


İkili bit düzeyinde işlem öncelikleri tüm sayısal operasyonları daha düşük ve karşılaştırmaları daha yüksek; Tekli işlemi ~ diğer tekli sayısal işlemleri olarak aynı önceliğe sahiptir (+ ve -).


Bu tabloda, bit düzey işlemleri öncelik artan düzende sıralanır (operasyon benzer kutusunda benzer önceliğe sahip):





OperasyonDönen Değer
x | yBir "bit düzeyi veya". x ve y karşılık gelen bit 0 ise, her bir bit çıkış 0'dır, aksi takdirde 1.
x ^ yBitsel Özel Veya Operatörü
x & yBir "bit seviyesinde ve". X ve y karşılık gelen bit 1 ise her bir bit çıkış 1, yoksa 0'dır.
x << yBitsel sola kaydırma
x >> yBitsel sağa kaydırma
~xx biti tersi


Tam sayı türlerinin ek yöntemleri
int.bit_length

Değişkenin değerinin kaç bit uzunlukta olduğunu gösterir.



>>> n = -48
>>> bin(n)[3:]
'110000'
>>> n.bit_length()
6