Veri Bilimi İçin Python Notları-6: Python Operatörleri ile Mantıksal Değişkenler

V

1. Python Operatörleri

Genel olarak operatörler programlamada çok sık kullanılır. Python operatörleri 6 grupta incelenebilir.

  • Aritmetik Operatörler
  • Atama Operatörleri
  • Karşılaştırma Operatörleri
  • Mantıksal Operatörler
  • Kimlik Operatörleri
  • Küme Operatörleri

1.1. Python’da Aritmetik Operatörler

Python’da temel matematiksel işlemlerde kullanılan aritmetik operatörlerin çalışma ilkelerini kavramak için aşağıdaki kodları çalıştırdıktan sonra incelemeniz önerilir.

  • Toplama (+) operatörü
  • Çıkarma (-) operatörü
  • Çarpma (*) operatörü
  • Bölme (/) operatörü
  • Mod (%) operatörü
  • Üs (**) operatörü
  • En büyük ortak kat (//) operatörü
x = 4
y = 2
# Toplama (+) operatörü
print(x + y) #Sonuç: 6
# Çıkarma (-) operatörü
print(x - y) #Sonuç: 2
# Çarpma (*) operatörü
print(x * y) #Sonuç: 8
# Bölme (/) operatörü
print(x / y) #Sonuç: 2.0
# Mod (%) operatörü
print(x % y) #Sonuç: 0 # x'in y'ye bölümünden kalanı verir
a = 12
b = 5
print(a % b) #Sonuç: 2 # a'nın b'ye bölümünden kalanı verir
# Üs (**) operatörü
print(x ** y) #Sonuç: 16 # x^y = 2^4 = 2*2*2*2 = 16
# En büyük ortak kat (//) operatörü
print(x // y) #Sonuç: 2
a = 12
b = 5
print(a // b) #Sonuç: 2 # a'nın için kaç tane tam b değeri var sorusunun cevabı = 2 tane 5.
  

1.2. Python’da Atama Operatörleri

Python’da bir değişkene bir değer atarken kullanılacak atama operatörlerinin çalışma ilkelerini kavramak için aşağıdaki kodları çalıştırdıktan sonra incelemeniz önerilir.

  • Eşit (=) operatörü
  • Toplam atama (+=) operatörü
  • Çıkarma atama (-=) operatörü
  • Çarpma atama (*=) operatörü
  • Bölme atama (/=) operatörü
  • Mod atama (%=) operatörü
  • En büyük ortak kat atama (//=) operatörü
  • Üssel atama (**=) operatörü

Python’un yeni sürümleri ile Pythona yeni metotlar tanımlanabilmektedir. Ancak temel olarak yukarıdaki operatörlerin çalışma ilkelerini kavramanızın yeterli olacağını düşünüyorum.

x = 4
y = 2
# Eşit (=) operatörü
print(x) #Sonuç: 4

print("___________\n")

x = 4
y = 2
# Toplam atama (+=) operatörü 
x+=y #y=2 olduğu için x+=2 anlamına gelir. Bunun yerine x = x + y ya da x = x + 2 şeklinde de kullanımı vardır. 
print(x) #Sonuç: 6
x = x + y
print(x) #Sonuç: 8
x = x + 2 
print(x) #Sonuç: 10 #Her adımda x'in y kadar, yani 2 arttırıldığına dikkat edin.

print("___________\n")

x = 4
y = 2
# Çıkarma atama (-=) operatörü 
x-=y #y=2 olduğu için x-=2 anlamına gelir. Bunun yerine x = x - y ya da x = x - 2 şeklinde de kullanımı vardır. 
print(x) #Sonuç: 2
x = x - y
print(x) #Sonuç: 0
x = x - 2 
print(x) #Sonuç: -2 #Her adımda x'in y kadar, yani 2 azaltıldığına dikkat edin.

print("___________\n")

x = 4
y = 2
# Çarpma atama (*=) operatörü 
x*=y #y=2 olduğu için x*=2 anlamına gelir. Bunun yerine x = x * y ya da x = x * 2 şeklinde de kullanımı vardır. 
print(x) #Sonuç: 8
x = x * y
print(x) #Sonuç: 16
x = x * 2 
print(x) #Sonuç: 32 #Her adımda x'in y ile, yani 2 ile çarpıldığına dikkat edin.

print("___________\n")

x = 4
y = 2
# Bölme atama (/=) operatörü 
x/=y #y=2 olduğu için x/=2 anlamına gelir. Bunun yerine x = x / y ya da x = x / 2 şeklinde de kullanımı vardır. 
print(x) #Sonuç: 2
x = x / y
print(x) #Sonuç: 1
x = x / 2 
print(x) #Sonuç: 0.5 #Her adımda x'in y'ye, yani 2'ye bölündüğüne dikkat edin.

print("___________\n")

x = 5
y = 2
# Mod atama (%=) operatörü 
x%=y #y=2 olduğu için x%=2 anlamına gelir. Bunun yerine x = x % y ya da x = x % 2 şeklinde de kullanımı vardır. 
print(x) #Sonuç: 1
x = x % y
print(x) #Sonuç: 1
x = x % 2 
print(x) #Sonuç: 1 #Her adımda x'in y'ye bölümünden kalan, yani 2'ye bölümünden kalan ile işlem yapıldığına dikkat edin.

print("___________\n")

x = 5
y = 2
# En büyük ortak kat atama (//=) operatörü 
x//=y #y=2 olduğu için x//=2 anlamına gelir. Bunun yerine x = x // y ya da x = x // 2 şeklinde de kullanımı vardır. 
print(x) #Sonuç: 2
x = x // y
print(x) #Sonuç: 1
x = x // 2 
print(x) #Sonuç: 0 #Her adımda x ve y'nin en büyük ortak katı, yani 5 ve 2'nin ortak katı ile işlem yapıldığına dikkat edin.

print("___________\n")

x = 4
y = 2
# Üssel atama (**=) operatörü 
x**=y #y=2 olduğu için x**=2 anlamına gelir. Bunun yerine x = x ** y ya da x = x ** 2 şeklinde de kullanımı vardır. 
print(x) #Sonuç: 16
x = x ** y
print(x) #Sonuç: 256
x = x ** 2 
print(x) #Sonuç: 65536 #Her adımda x'in y üssünün, yani 2 üssünün alındığına dikkat edin.

1.3. Python’da Karşılaştırma Operatörleri

Python’da iki değişken/nesne kıyaslanırken kullanılan karşılaştırma operatörlerinin çalışma ilkelerini kavramak için aşağıdaki kodları çalıştırdıktan sonra incelemeniz önerilir.

  • Eşitlik (==) karşılaştırma operatörü
  • Eşitsizlik (!=) karşılaştırma operatörü
  • Büyüklük (>) karşılaştırma operatörü
  • Büyük eşitlik (>=) karşılaştırma operatörü
  • Küçüklük (<) karşılaştırma operatörü
  • Küçük eşitlik (<=) karşılaştırma operatörü
x = 2
y = 4
z = 2
# Eşitlik (==) karşılaştırma operatörü
if x==y: #Koşulun sağlanması True değerini döndürür
    print("1.1. Bölüm: ", x == y) #True
else: #Koşulun sağlanmaması False değerini döndürür
    print("1.2. Bölüm: ", x == y) #False #Yukarıdaki örnek için bu sonucu döndürecek
    
if x==z: #Koşulun sağlanması True değerini döndürür
    print("2.1. Bölüm: ", x == z) #True #Yukarıdaki örnek için bu sonucu döndürecek
else: #Koşulun sağlanmaması False değerini döndürür
    print("2.2. Bölüm: ", x == z) #False

print("___________\n")

x = 2
y = 4
z = 2
# Eşitsizlik (!=) karşılaştırma operatörü
if x!=y: #Koşulun sağlanması True değerini döndürür
    print("3.1. Bölüm: ", x != y) #True #Yukarıdaki örnek için bu sonucu döndürecek
else: #Koşulun sağlanmaması False değerini döndürür
    print("3.2. Bölüm: ", x != y) #False
    
if x!=z: #Koşulun sağlanması True değerini döndürür
    print("4.1. Bölüm: ", x != z) #True
else: #Koşulun sağlanmaması False değerini döndürür
    print("4.2. Bölüm: ", x != z) #False #Yukarıdaki örnek için bu sonucu döndürecek

print("___________\n")

x = 2
y = 4
z = 2
# Büyüklük (>) karşılaştırma operatörü
if x>y: #Koşulun sağlanması True değerini döndürür
    print("5.1. Bölüm: ", x > y) #True
else: #Koşulun sağlanmaması False değerini döndürür
    print("5.2. Bölüm: ", x > y) #False #Yukarıdaki örnek için bu sonucu döndürecek
if x>z: #Koşulun sağlanması True değerini döndürür
    print("6.1. Bölüm: ", x > z) #True
else: #Koşulun sağlanmaması False değerini döndürür
    print("6.2. Bölüm: ", x > z) #False #Yukarıdaki örnek için bu sonucu döndürecek

print("___________\n")

x = 2
y = 4
z = 2
# Büyük eşitlik (>=) karşılaştırma operatörü
if x>=y: #Koşulun sağlanması True değerini döndürür
    print("7.1. Bölüm: ", x >= y) #True
else: #Koşulun sağlanmaması False değerini döndürür
    print("7.2. Bölüm: ", x >= y) #False #Yukarıdaki örnek için bu sonucu döndürecek
    
if x>=z: #Koşulun sağlanması True değerini döndürür 
    print("8.1. Bölüm: ", x >= z) #True #Yukarıdaki örnek için bu sonucu döndürecek
else: #Koşulun sağlanmaması False değerini döndürür
    print("8.2. Bölüm: ", x >= z) #False

print("___________\n")

x = 2
y = 4
z = 2
# Küçüklük (<) karşılaştırma operatörü
if x<y: #Koşulun sağlanması True değerini döndürür
    print("9.1. Bölüm: ", x < y) #True #Yukarıdaki örnek için bu sonucu döndürecek
else: #Koşulun sağlanmaması False değerini döndürür
    print("9.2. Bölüm: ", x < y) #False
    
if x<z: #Koşulun sağlanması True değerini döndürür
    print("10.1. Bölüm: ", x < z) #True
else: #Koşulun sağlanmaması False değerini döndürür
    print("10.2. Bölüm: ", x < z) #False #Yukarıdaki örnek için bu sonucu döndürecek

print("___________\n")

x = 2
y = 4
z = 2
# Küçük eşitlik (<=) karşılaştırma operatörü
if x<=y: #Koşulun sağlanması True değerini döndürür
    print("11.1. Bölüm: ", x <= y) #True #Yukarıdaki örnek için bu sonucu döndürecek
else: #Koşulun sağlanmaması False değerini döndürür
    print("11.2. Bölüm: ", x <= y) #False
    
if x<=z: #Koşulun sağlanması True değerini döndürür
    print("12.1. Bölüm: ", x <= z) #True #Yukarıdaki örnek için bu sonucu döndürecek
else: #Koşulun sağlanmaması False değerini döndürür
    print("12.2. Bölüm: ", x <= z) #False

1.4. Python’da Mantıksal Operatörler

Python’da “and, or, not” olarak ifade edilen mantıksal operatörlerin çalışma ilkelerini kavramak için aşağıdaki kodları çalıştırdıktan sonra incelemeniz önerilir.

x = 2
y = 4
z = 2
# And operatörü
if x<y and x==z: #Her iki koşul da sağlanırsa True değerini döndürür 
    print("1.1. Bölüm: ", x<y and x==z) #True #Yukarıdaki örnek için bu sonucu döndürecek
else: #Koşullardan en az biri sağlanmazsa False değerini döndürür 
    print("1.2. Bölüm: ", x<y and x==z) #False 
    
if x==z and x>=y: #Her iki koşul da sağlanırsa True değerini döndürür 
    print("2.1. Bölüm: ", x==z and x>=y) #True 
else: #Koşullardan en az biri sağlanmazsa False değerini döndürür 
    print("2.2. Bölüm: ", x==z and x>=y) #False #Yukarıdaki örnek için bu sonucu döndürecek

print("___________\n")

x = 2
y = 4
z = 2
# Or operatörü
if x>y or x==z: #İki koşulun en az biri sağlanırsa True değerini döndürür 
    print("3.1. Bölüm: ", x>y or x==z) #True #Yukarıdaki örnek için bu sonucu döndürecek
else: #Her iki koşul da sağlanmazsa False değerini döndürür 
    print("3.2. Bölüm: ", x>y or x==z) #False 
    
if x<z or x>=y: #İki koşulun en az biri sağlanırsa True değerini döndürür 
    print("4.1. Bölüm: ", x<z or x>=y) #True 
else: #Her iki koşul da sağlanmazsa False değerini döndürür
    print("4.2. Bölüm: ", x<z or x>=y) #False #Yukarıdaki örnek için bu sonucu döndürecek

print("___________\n")

x = 2
y = 4
z = 2
# Not operatörü
if not (x<y and x==z): #Her iki koşulun da sağlanması koşulu sağlanmazsa True değerini döndürür
    print("5.1. Bölüm: ", not (x<y and x==z)) #True 
else: #Her iki koşulun sağlanamaması koşulu sağlanmazsa False değerini döndürür
    print("5.2. Bölüm: ", not (x<y and x==z)) #False #Yukarıdaki örnek için bu sonucu döndürecek
    
if not(x==z or x>=y): #İki koşulun en az birinin sağlanması koşulu sağlanmazsa True değerini döndürür
    print("6.1. Bölüm: ", not(x==z or x>=y)) #True 
else: #İki koşulun en az birinin sağlanmaması koşulu sağlanmazsa False değerini döndürür
    print("6.2. Bölüm: ", not(x==z or x>=y)) #False #Yukarıdaki örnek için bu sonucu döndürecek

1.5. Python’da Kimlik Operatörleri

Python’da “is, is not” olarak ifade edilen kimlik operatörlerin çalışma ilkelerini kavramak için aşağıdaki kodları çalıştırdıktan sonra incelemeniz önerilir.

x = ["Python", "vba", "sql"]
y = ["Python", "vba", "sql"]
z = x
#Not: x ve y birer list değişkenidir. Sonraki makalelerde detaylı olarak üzerinde durulacaktır. 

if x is z: #x ve z aynı nesne mi? Evet, z nesnesinin kendine ait bir içeriği yok ve x nesnesinin içeriğini kullanıyor.
    print("1.1. Bölüm: ", x is z) #True #Yukarıdaki örnek için bu sonucu döndürecek
else: # 
    print("1.2. Bölüm: ", x is z) #False 
    
if x is y: #x ve y aynı nesne mi? Hayır, y nesnesinin (x nesnesi ile aynı elemanlara sahip olsa da) kendine ait bir içeriği var ve x nesnesinin içeriğini kullanmıyor.
    print("2.1. Bölüm: ", x is y) #True 
else: # 
    print("2.2. Bölüm: ", x is y) #False #Yukarıdaki örnek için bu sonucu döndürecek 
    
if x == y: #x ve y aynı nesne mi sorusunu sormuyor. x ve y nesnelerinin içerikleri aynı mı sorusunu soruyor. 
    print("3.1. Bölüm: ", x == y) #True #Yukarıdaki örnek için bu sonucu döndürecek 
else: # 
    print("3.2. Bölüm: ", x == y) #False 
    
print("___________\n")

x = ["Python", "vba", "sql"]
y = ["Python", "vba", "sql"]
z = x

if x is not z: #x ve z aynı nesne koşulu sağlanmazsa True
    print("4.1. Bölüm: ", x is not z) #True 
else: # 
    print("4.2. Bölüm: ", x is not z) #False #Yukarıdaki örnek için bu sonucu döndürecek
    
if x is not y: #x ve y aynı nesne koşulu sağlanmazsa True
    print("5.1. Bölüm: ", x is not y) #True #Yukarıdaki örnek için bu sonucu döndürecek
else: # 
    print("5.2. Bölüm: ", x is not y) #False 
    
if not(x == y): #x ve y aynı içeriklere sahipse koşulu sağlanmazsa True
    print("6.1. Bölüm: ", not(x == y)) #True 
else: # 
    print("6.2. Bölüm: ", not(x == y)) #False #Yukarıdaki örnek için bu sonucu döndürecek
 #"not(x == y)" yerine "x != y" da kullanılabilir.
if x != y: #x ve y aynı içeriklere sahipse koşulu sağlanmazsa True 
    print("7.1. Bölüm: ", x != y) #True 
else: # 
    print("7.2. Bölüm: ", x != y) #False #Yukarıdaki örnek için bu sonucu döndürecek
  

1.6. Python’da Küme/Üyelik Operatörleri

Python’da “in, not in” olarak ifade edilen ve çok sık kullanılan küme/üyelik operatörlerinin çalışma ilkelerini kavramak için aşağıdaki kodları çalıştırdıktan sonra incelemeniz önerilir.

# "in" metodu bir değeri bir nesnenin (kümenin) elemanları içinde arar; eğer bulursa true, bulamaz ise false değerini döndürür.
# "not in" metodu da "in" metoduna göre asimetrik sonuçlar döndürür.
myText = "Makine öğrenmesi, veri bilimi ya da yapay zeka alanında kariyer yapmak için Python öğrenebilirsiniz."

print("veri bilimi" in myText) #Sonuç: True
print("veri bilimi" not in myText) #Sonuç: False

print("___________\n")

print("makine öğrenmesi" in myText) #Sonuç: False
print("makine öğrenmesi" not in myText) #Sonuç: True

print("___________\n")

print("Makine öğrenmesi" in myText) #Sonuç: True
print("Makine öğrenmesi" not in myText) #Sonuç: False

print("___________\n")

print("CSS" in myText) #Sonuç: False
print("CSS" not in myText) #Sonuç: True

print("___________\n")

print("ğ" in myText) #Sonuç: True
print("ğ" not in myText) #Sonuç: False
  

2. Python’da Mantıksal Değişkenler

Python’da mantıksal değişkenler (diğer programlama dillerinde olduğu gibi) True ya da False değerine sahip olabilir. Mantıksal değişkenler iki değişkeni ya da koşulu karşılaştırırken çok sık kullanılır.

print(12 > 5) #Sonuç: True
print(29 == 23) #Sonuç: False
print(-15 < -9) #Sonuç: True
#Bir değerin diğer değere eşitliğinin kontrolünde "=" değil "==" ifadesi kullanılır; yani "==" ifadesi bir koşuludur.

print("___________\n")

x = 5
y = 7
if x < y:
    print("x küçüktür y'den.") #Sonuç: x küçüktür y'den.
else:
    print("x küçük değildir y'den.")
  

Python’da “bool” metodu bir değerin/değişkenin mantıksal değerini verir. Boş bir değere sahip olmayan neredeyse tüm değişkenlerin değeri True’dur. Boş bir string değer, 0 numerik değeri, boş list, tuple, dict gibi liste tipi değişkenlerin değeri False’dur.

print(bool("Python")) #Sonuç: True
print(bool("")) #Sonuç: False
print(bool(3)) #Sonuç: True
print(bool(0)) #Sonuç: False
print(bool(-3)) #Sonuç: True
print(bool([])) #Sonuç: False
print(bool(["Volvo", "BMW", "Porsche"])) #Sonuç: True

'''
#Yukarıdaki ile aynı işleve sahip kodlardır. Sadece değerler a, b, c gibi değişkenler üzerinden ifade edilmiştir.
a = "Python"
b = ""
c = 3
d = 0
e = -3
f = []
g = ["Volvo", "BMW", "Porsche"]

print(bool(a)) #Sonuç: True
print(bool(b)) #Sonuç: False
print(bool(c)) #Sonuç: True
print(bool(d)) #Sonuç: False
print(bool(e)) #Sonuç: True
print(bool(f)) #Sonuç: False
print(bool(g)) #Sonuç: True
'''

3. Python’da Bir Nesnenin Sınıfını Kontrol Etmek (isinstance metodu)

Python’da “Volvo”, 3 gibi değerler aslında birer nesnedir. “Volvo” string bir değere sahip olduğu için sınıfı (yani değişken tipi) string, 3 sayısal bir değere sahip olduğu için sınıfı (yani değişken tipi) integer olarak adlandırılır. Sonraki makalelerde, Python’da son derece önemli bir konu olan nesne ve sınıf kavramları üzerinde detaylı bir şekilde durulacaktır.

a = "Python"
b = ""
c = 3
d = 0
e = -3

print(isinstance(a, str)) #Sonuç: True
print(isinstance(b, int)) #Sonuç: False
print(isinstance(c, int)) #Sonuç: True
print(isinstance(d, float)) #Sonuç: False
print(isinstance(e, str)) #Sonuç: False
  

 

 

İshak Kutlu, Veri Bilimi İçin Python Notları

Yorum Yap

İshak Kutlu

Veri & Otomasyon Uzmanı

Kurumsal iş akışlarını düzenleyen veri odaklı otomasyon sistemleri ve makine öğrenmesi tabanlı çözümler geliştirir. Gerçek operasyonel süreçler için ölçeklenebilir ve izlenebilir yapılar tasarlar.

YouTube   YouTube   YouTube   YouTube