4: Tipler

Bu dersten başlayarak, örnekler ve kod input kutularının düğmeleri Konsolda aç ve Görüntüle olarak etiketlendi. Bunları hataları ayıklamak ve kodu incelemek için kullanabilirsiniz.

Merhaba, Dünya! programında Python'un bize bir cümleyi tekrar getirdiğini gördük. Ayrıca rakamlarla hesaplama örnekleri gördük. Rakamlar ve cümleler temelde farklı nesneler olduğu için bunları yanlış yoldan birleştirmeye kalkarsak Python hata verir.

Example
Bir rakamla bir metni karşılaştıralım.

Gördüğünüz gibi, iki farklı tipten verinin en yüksek (max) olanını söylemek bir hataya yol açtı. Bu hata dersin devamı için güzel bir giriş oldu:

  • "Merhaba, Dünya!" bir string değeridir ve Python'da str olarak gösterilir. Bir string rakamlar, harfler ve noktalama işaretlerini içerebilen bir dizidir; stringleri 7A dersinde öğreneceğiz.
  • 35 ise bir integer değeridir ve Python'da int olarak gösterilir. Bir integer sadece rakamlardan oluşur, mesela 42, -12, ve 0 integerdir.

Yanlış tipten bir nesne kullanmak programda hatalara sebep olabilir. Bu bir sandviçi içmeye çalışmak gibidir: Bunu yapamayız çünkü sadece sıvı şeyler içilebilir ve sandviç katı bir şeydir.

Bir nesnenin tipini öğrenmek için type fonksiyonu kullanılır.

Example
Bazı tip örnekleri.

(class ve type kelimelerinin anlamları benzerdir.) Yukarıdaki örneklerden görüldüğü gibi iki farklı tiptedir;  int tipinden bahsetmiştik, float ise ondalık sayıları içeren tiptir. float  tam olmayan veya yaklaşık değerleri taşır (bunu 7B dersinde daha detaylı göreceğiz).  Genellikle float değerleri int değerlerle karıştırabilirz ve sonuç bir float olacaktır.

Example
Bir int ve bir floatı karıştıralım.

Aslında, bir  float ve bir int karıştırıldığında, Python int değerini değiştirip float hâline getirir ve sonra da iki float ile işlem yapar.

Multiple Choice Exercise: Float yapma
Doğru! Burada iki şeyi açıklamalıyız, neden z3.0 olarak yazıldı:
  • x * y işlemiyle bir int ve bir float var, Python bunları float olarak görür ve z de bir float olur.
  • z değişkeninin değeri 1.5 kere 2, yani 3

Nesnelerin tiplerini değiştirirken farklı sonuçlar alırız:

  • Bir float değerini int değerine değiştirmekle virgülden sonraki ondalık silinir, mesela int(1.234) 1int(-34.7) -34 hâline gelir.
  • Bir str değeri bir int değerine dönüştürmek eğer string tam bir integer şeklinde değilse, mesela int("1.234") hataya yol açar.
  • Bir str değeri bir float değerine değiştirmek, eğer string rakamlardan oluşmuyorsa, mesela float("sandviç") hataya yol açar.

Genelde string şeklinde olan kullanıcı inputlarını rakamsal forma dönüştürmek tip atama fonksiyonun sık kullanıldığı bir durumdur. Bunu da yakında göreceğiz. Burada küçük bir örneklendirme yapalım.

Example
Tip atama örneği.

Dersi son bir örnekle bitirelim.

Şimdi çok fazla editör komutu olduğundan, bir kısmı Diğer işlemler... adlı menüye taşındı.

Coding Exercise: Lezzetli Tip Atama
Kare pizzalar hakkında matematik işlemi yapan arkadaşlarınıza yardım edecek bir program yazın. Pizzanın kenar uzunluğu, ondalık sayı şeklinde L olsun,  düzenleyici bizim için bir string değişkeni tanımlayacak: inputStr . Pizzanın alanını  A = L*L formülü ile hesaplayacağız. Diyelim ki her pizza 100 cm2  olsun, toplam pizza alanını pizza sayısını en yakın sayıya yuvarlayarak hesaplayalım. İpucu

Örnek: inputStr "17.5" olduğunda toplam pizza alanı 306.25 cm2 , pizza sayısı da 3 olacaktır.

Bitirdiyseniz, sonraki derse geçebiliriz.