Kategoriler
Bilgisayar

Operatör Önceliği ve Birleşim

Farklı operatörler aynı ifadede yer aldığında, aritmetiğin normal kuralları uygulanır. Tüm Python operatörlerinde öncelik (precedence) ve birleşim (associativity) vardır.

• Öncelik, bir ifade iki farklı türde operatörler içerdiği zaman, hangisi ilk olarak uygulanacak?

• Birleşim, bir ifade aynı önceliğe sahip iki operatörleri içerdiği zaman, hangisi ilk olarak uygulanacak?

• Çarpımsal operatörler (*, /, // ve %) birbirleri ile eşit önceliğe sahiptir ve toplamsal operatörler (ikili + ve -) birbirleri ile eşit önceliğe sahiptir.

• Çarpımsal operatörleri, toplamsal operatörleri üzerinde önceliğe sahiptir.

• Standart aritmetikte olduğu gibi bir Python programcısı öncelik kurallarını geçersiz kılmak için ayraçları kullanabilir ve çarpmadan önce toplama işleminin yapılmasını sağlayabilir.

Her satırdaki operatörler, altındaki operatörlerden daha yüksek bir önceliğe sahiptir. Bir satır içerisinde yer alan operatörler aynı önceliğe sahiptir.

Operatör Önceliği ve Birleşim
Operatör Önceliği ve Birleşim
Kategoriler
Bilgisayar

Python’da Sık Kullanılan Aritmetik İkili Operatörler

Python programlama dilinde kullanılan aritmetik operatörler aşağıdaki tabloda yer almaktadır:

  • x+y Eğer x ve y rakamsa, x, y’ye eklenir.
    Eğer x ve y harf dizisi ise x ile y birleştirilir.
  • x-y Eğer x ve y rakamsa, x’ten y çıkarılır.
  • x*y
    Eğer x ve y rakamsa, x ile y çarpılır.
    Eğer x harf dizisi ise ve y rakamsa, x, y kez sıralanır.
    Eğer x rakamsa ve y harf dizisi ise y, x kez sıralanır.
  • x/y Eğer x ve y rakamsa, x, y’ye bölünür.
  • x//y Eğer x ve y rakamsa, x’in içinde y değişkenin katsayısını arar.
    Örn. 10 // 4 = 2
  • x%y Eğer x ve y rakamsa, bölme işleminde x / y kalan kısmını verir.
  • x**y Eğer x ve y rakamsa, x, y’nin kuvvetiyle çarpılır.

Yukarıda belirtilen operatörlerin ikili operatör olarak belirtilmesinin nedeni 2 işlenen (operand) üzerinde çalışmasıdır. x = y + z deyiminde, atama operatörünün sağ tarafında y + z bir toplamsal ifadedir.

+ operatörünün iki işleneni y ve z’dir.

• +, -, *, //, %, or ** operatörlerini 2 sayıya uyguladığımızda sonuç tam sayı olacaktır. • print(25//4, 4//25) yazdığımızda 6 ve 0 sonuçlarını verecektir.

• Mod operatörü (%) sayı bölümünden kalanı hesaplar. print(25%4, 4%25) yazdığımızda 1 ve 4 sonuçlarını verecektir.

• / operatörü 2 sayıya uygulandığında ondalıklı sayı döndürür. print(25/4, 4/25) yazdığımızda 6.25 0.16 sonuçlarını verecektir.

Kategoriler
Bilgisayar

Python Belirteçler

Matematik işlemlerinde genellikle x ve y tek karakterden oluşan değişkenler için kullanılır. Programcıların bundan kaçınarak çok daha uzun, anlamlı ve açıklayıcı değişken isimleri seçmesi gerekir.

Bu nedenle t, at, y ve s gibi isimler yerine, toplam, araToplam, yükseklik ve süre gibi içeriğindeki değeri ifade eden değişken isimleri kullanmak çok daha etkilidir. Değişken ismi program içerisindeki kullanım amacına uygun olmalıdır. Değişken isimleri ne kadar doğru seçilirse program okuyan kişiler için o kadar çabuk anlaşılır ve anlamlı olur.

Python, büyük küçük harf duyarlıdır ve değişken isimleri için kesin kurallar kullanır. Bir değişken ismi belirteç için bir örnektir. Belirteç, ögeleri isimlendirmek için kullanılan kelimedir. Belirteçler fonksiyon, sınıf ve metot gibi parçaları isimlendirmek için de kullanılır.

Belirteçlerin özellikleri şöyle sıralanabilir:

  1. Bir belirteç en az bir karakter içermelidir.
  2. Belirtecin ilk karakteri harf (küçük ya da büyük) ya da alt çizgi olmalıdır
    (ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_).
  3. Devam eden karakterler, harf (küçük ya da büyük), alt çizgi ya da sayı olabilir
    (ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_0123456789).
  4. Belirteçlerde boşluk dâhil diğer özel karakterler kullanılamaz.
  5. Programlama diline ait ayrılmış kelimeler belirteç olarak kullanılamaz (Reserved Words).
  6. Son olarak print, int, str ya da type gibi özel kelimeler kullanılabilmesine rağmen iyi bir program için bunlar asla önerilmez.
  7. Türkçe karakterler kullanılamaz.
Python için özel durumlar
Python için özel durumlar
Kategoriler
Bilgisayar

Python Reel Sayılar

Pek çok hesaplamalı işlem, kesir parçası olan sayıları kullanır. Örneğin bir dairenin çevresini ya da alanını hesaplamak için π değerine ihtiyacımız vardır ve bu değer yaklaşık 3,14159 olarak ifade edilir.

Python, bu şekilde noktalı sayılarla işlem yapar ve bu sayılara reel ya da gerçek sayı denir. İsminden de anlaşılacağı gibi matematiksel hesaplamalar sırasında ondalık nokta, önemli sayıları ifade etmek için farklı basamaklara kayabilir. Python ile programlama yaparken bu tanımı yapmak için float kelimesi kullanılır.

>>> x = 5.62

>>> x

5.62

>>> type(x)

<class “float”>

Python için reel sayıların alabileceği en küçük ve en büyük değer ile duyarlılık düzeyi, kullanılan makine ve uygulamaya göre değişiklik gösterebilir. Reel sayılar da tam sayılar gibi pozitif ve negatif olabilir. Yaygın olarak geçerli olan durum aşağıda görülmektedir.

Çoğu programlama editörü, alt ya da üst simge ve özel sembollerin kullanımını desteklemediği için sayıların gösterimi farklılaşmaktadır.

Python ile kod yazarken 6.022 x 1023 yerine 6.022e23 olarak yazmamız gerekir. Burada “e” karakterinin solunda kalan kısım normal sayı; sağında kalan kısım ise 10 üzerindeki sayıdır. Simge olarak “e” yerine “E” de kullanılabilir.

Reel sayılardan farklı olarak tam sayılar kesirli ifadeleri içeremez. Reel bir sayıyı bir tam sayıya dönüştürmenin iki temel yolu vardır:

  • Yuvarlama: Reel sayıya en yakın tam sayıya ulaşmak için kesrin belirli bir miktarı eklenerek ya da çıkarılarak yuvarlama yapılır.
  • Kesme: Sayının kesirli kısmı tamamen göz ardı edilir.

Yuvarlama ve kesme işlemlerinin sonuçlarının ne şekilde farklılaştığını gözlemleyebiliriz:

>>> 28.71

28.71

>>> int(28.71)

28

>>> round(28.71)

29

>>> round(19.47)

19

>>> int(19.47)

19

Görüldüğü gibi kesme, her zaman aşağı doğru yuvarlamaktadır.

Yuvarlama yapmak için round fonksiyonunu noktadan sonra belirli bir sayıda basamağı koruyarak sonuç elde etmek için de kullanabiliriz.

>>> x = 93.34836

>>> x

93.34836

>>> round(x)

93

>>> round(x, 2)

93.35

>>> round(x, 3)

93.348

>>> round(x, 0)

93.0

>>> round(x, 1)

93.3

>>> type(round(x))

<class “int”>

>>> type(round(x, 1))

<class “float”>

>>> type(round(x, 0))

<class “float”>

Görüldüğü gibi tek argüman tam sayı sonucu verirken iki argüman reel sayı sonucu vermektedir. Kullanılan ikinci argüman negatif bir değerde olabilir: round(n, r) ifadesi n sayısını 10-r ile çarpma işlemini yapar. Örneğin round(n, -2) n sayısını 10-2 ile çarpmaktadır.

>>> x = 28793.54836

>>> round(x)

28794

>>> round(x, 1)

28793.5

>>> round(x, 2)

28793.55

>>> round(x, 0)

28794.0

>>> round(x, 1)

28793.5

>>> round(x, -1)

28790.0

>>> round(x, -2)

28800.0

>>> round(x, -3)

29000.0

Python için round fonksiyonu tam sayılar için de kullanılabilir. Burada ilk argüman tam sayı, ikinci argüman ise yuvarlama için sola doğru kayması beklenen basamak sayısını ifade eder. İkinci değer pozitif bir değerse sayının orijinal değeri elde edilir. Her durumda sonuç her zaman tam sayıdır.

>>> round(65535)

65535

>>> round(65535, 0)

65535

>>> round(65535, 1)

65535

>>> round(65535, 2)

65535

>>> round(65535, -1)

65540

>>> round(65535, -2)

65500

>>> round(65535, -3)

66000

>>> round(65535, -4)

70000

>>> round(65535, -5)

100000

>>> round(65535, -6)

0