• Sonuç bulunamadı

Python nu diğer dillerden ayıran özellikleri ve avantajları nelerdir? Python nerelerde kullanılır ve Python ile neler yapabilirim?

N/A
N/A
Protected

Academic year: 2022

Share "Python nu diğer dillerden ayıran özellikleri ve avantajları nelerdir? Python nerelerde kullanılır ve Python ile neler yapabilirim?"

Copied!
36
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Neden Python?

Aslında bu soruya cevap vermeden önce kendimize bir kaç soru soralım o zaman bu soruya cevap verebileceğimizi göreceksiniz.

Python Nedir?

Tek bir cümle ile anlatırsak Python çok çeşitli alanlarda kullanılan dinamik , yüksek seviyeli, ve nesne yönelimli bir programlama dilidir.

Python’nu diğer dillerden ayıran özellikleri ve avantajları nelerdir?

Öncelikle Python öğrenilmesi çok kolay olan katı kuralları olmayan basit söz dizimi ile öğrenilmesi eğlenceli bir programlama dilidir. Ayrıca bu dilin yorumlanabilir olması pek çok alanda ideal bir dil kılıyor. Hepsinin ötesinde Python açık kaynaklı bir programlama dilidir. İstediğiniz şekilde ücretsiz kullanma hakkına sahipsiniz.

Python nerelerde kullanılır ve Python ile neler yapabilirim?

Web Uygulamaları Geliştirme (Django ve Flask) Mobil Uygulama (Kivy)

Arayüz Geliştirme (PyQt, PyGTK, Tkinter, wxPython) Oyun Programlama (PyGame)

Ağ ve Soket Programlama (Twisted)

Örümcek Türü Yazılımlar (Scrapy, Requests, Beatifulsoup)

Veri Madenciliği ve Büyük Veri (Numpy ,SciPy, Matplotlib, Pandas vb.) Makine Öğrenimi ve Yapay Zeka Uygulamalarında (Scikit-Learn, Keras, TensorFlow, Caffe)

(2)

Python bilmek bana ne kazandıracak?

Python yukarıda gösterdiğim gibi hemen her yerde sıkça kullanılan bir programlama dilidir. Yani bu dil ile yapmak istedikleriniz sizin hayal

gücünüze bağlı işte tam bu yüzden Python Programlama dilini öğrenmeliyiz.

Artık neden Python sorusuna cevap veriyorsak devam edelim.

Python’u öğrenmeye karar verdiğimize göre şimdi Python kurulumu ve en çok kullanılan geliştirme ortamlarına bakalım.

Python Kurulumu;

Öncelikle Python’u kullanabilmek için https://www.python.org/ adresine giderek bilgisayarımız için uygun olan Python sürümünü indirelim ben

dersleri Python 3 ile anlatacağım için de sizlerde 3..x sürümlerini indirirseniz derslerde sıkıntı yaşamazsınız. İndirme yaptıktan sonra karşınıza;

Python Kurulumu

Şeklinde bir ekran gelecektir burada dikkat etmeniz gerek yer add

path kısmını seçmeniz eğer seçmezseniz ileri zamanlarda kütüphane veya framework eklemede sıkıntı yaşayacaksınızdır. Bu işlemi yaptıktan

sonra Install Now tıklayıp yükleyelim.

Python IDE

(3)

Karşınıza böyle bir ekran geldiyse başarılı bir şekilde kurulumu yapmışsınız demektir. Şuan bulunduğunuz ekran Python’un kabuk kısmıdır ve burada kısa komutlar ya da basit işlemler yapabilirsiniz dilerseniz file kısmından

veya CTRL+N tuşuna basarak yeni bir sayfa açıp kodlarınızı

çalıştırabilirsiniz. Buraya kodlarınızı yazdıktan sonra kodlarınızı çalıştırmak için Run>Run Module veya direk f5 tuşuna basarak kodları çalıştırabilirsiniz.

Python’u bilgisayara kurduğumuza göre şimdi gelelim Python için çalıştırma ortamlarına bunun için en çok kullanılan birkaç çalıştırma ortamını

göstereceğim bunlara başlamadan önce şunu belirteyim illa ekstradan başka bir şey kullanmayabilirsiniz işlerinizi Python IDE ile de yapmanız mümkün ama hızlı olmak ve büyük projeler için IDE yetersiz gelecektir.

Python için en iyi beş geliştirme ortamı (IDE);

PyCharm :

Listenin ilk sırasında PyCharm var. PyCharm Jetbrains firması tarafından geliştirilmiş açık kaynak bir çalışma ortamıdır.

PyCharm çok basit bir arayüz imkanı sağlayan bir Ide’dir ayrıca daha önce eclips veya neatbeans gibi ortamlarda çalışmışsanız zorluk çekmezsiniz. Git entegrasyonu ve güçlü hata açıklayıcısı na sahip olan PyCharm, Python’a ek olarak web geliştirme için JavaScript, HTML/CSS, Node JS, Angular vb. için destek sağlar. Son olarak PyCharm veri bilimcileri için grafik ara yüz imkanı sağlar bu yüzden çok kullanışlı bir Ide’dir.

Buradan https://www.jetbrains.com/pycharm/ indirebilirsiniz

VS Code(Visual Srudio Code):

(4)

Microsft tarafından geliştirelen açık kaynaklı bir text-editördür, yani tam olarak bir ide değildir. Sebebi ise Visual Stdudio Code Github’ın geliştirdiği Atom text- editörünün temelinde bulunan Electon altyapısı üzerinde geliştirilmiş olması. Electro; Javascript, HTML ve CSS ile çapraz platform Masaüstü uygulamaları geliştirmemizi sağayan platfromdur. Ben Python web(Django,Flask) işlerim için kesinlikle Vs Code kullanıyorum.

Jupyter Notebook:

Anaconda ile birlikte gelen bu çalışma ortamı Sunucu-istemci yapısına dayanan bir web uygulamasıdır. Yeni başlayanlar için çok kolay ve rahat bir çalışma ortamıdır.

Buradan https://anaconda.org/ indirebilirsiniz.

(5)

Spyder:

Özellikle veri bilimi için hazırlanmış bu çalışma ortamı anaconda ile hazır gelir. Ayrıca kütüphane ekleme sıkıntısı

yaşamazsınız çünkü bütün kütüphaneler kurulu olarak geliyor ayrıca eğer daha önce Matlab, RStudio kullanmış biriyseniz bu çalışma ortamı hemen hemen bu çalışma ortamlarına benzer ara yüz sunuyor ama biraz ağır bir ortam olduğunu söylemeden geçemeyeceğim.

Buradan https://anaconda.org/ indirebilirsiniz.

Python Veri Türleri

1. Number (Sayılar) 2. String (Karakter) 3. List (Listeler) 4. Tuple(Demetler) 5. Dictionary(Sözlükler)

Gösterdiğim gibi Python da standart 5 veri türü var şimdi gelelim bunların ne olduğuna;

Number (Sayılar)

Bu veri türü de kendi aralarında 4’e ayrılır bunlar ;

(6)

1. Integer 2. Float

3. Long Integer 4. Complex

Integer (Tamsayılar ): Matematikte gördüğümüz pozitif ve negatif sayıların tamamına denir ve Python da bir temel sayısal veri türüdür. Örnek verecek olursak; 5, -10, 423365 vb.

Float (Ondalıklı sayılar): Matematikte gördüğümüz kesirli negatif ve pozitif sayıların tamamına denir. Integer gibi Python da bir sayısal temel veri

türüdür. Örnek verecek olursak; 5.25, -4.10, 456.40 vb.

Long Integer (Uzun tamsayılar): Uzun tamsayıları ifade eden veri

türüdür. Integer veri türleri çok büyük rakamlar için yetersiz kalacaktır bu tür durumlarda Long Integer kullanılır;5533514554585L, 7L

Complex (Karmaşık sayılar): Karmaşık sayılar gömülü sistemlerde sıkça kullanılan gerçek ve sanal olmak üzere iki kısımdan oluşan sayı tipidir. Şu şekilde gösterilirler ; 5+12j, 4-3j vs.

Şimdi gelelim diğer dört veri türüne bu veri türleri de kendi aralarında immutable ve mutable olarak ikiye ayrılırlar ;

1. Immutabel (Değiştirilemez)

1. String: Python da metin türündeki veri türüdür yani karakter dizileridir. Değiştirilmez olmasının sebebi bu veri türüne ekleme çıkarma yada değiştirme işlemi yapılamaz ileri ki konularda çok detaylı bir şekilde metotları ile birlikte anlatılacaktır.Şöyle kullanılırlar;

"Mehmet 1994 yılında doğdu"

2. Tuple : Farklı veri türlerinin bir araya gelerek oluşturduğu veri türleridir; yani bir Tuple içinde tamsayı, ondalık sayı, metin ve hatta bir Tuple içinde başka bir Tuple olabilir. Değiştirilemez olmasının sebebi ise siz bu veri türüne eleman ekleme,çıkarma yada farklı bir değiştirme işlemi yapamazsınız. İleri ki konularda

(7)

çok detaylı bir şekilde anlatılacaktır. İki farklı kullanım şekli vardır birincisi;

tuple =(3,4.5,"Hello World",(4,6,3),'a')

ikincisi ;

tuple ="3,4.5,"Hello World",(4,6,3),'a' "

burada dikkat etmemiz gereken çok önemli bir kural var eğer tek elemanlı bir veri türü bir Tuple oluşturacaksanız elamanın

sonuna bir virgül koymalısınız yoksa yorumlayıcı bu türü String olarak alacaktır.

2. Mutable (Değiştirilebilir)

1. List : Listeler de Tuple gibi farklı veri türlerinin bir araya gelmesiyle oluşmuştur. Listelerin içinde tamsayı ,ondalık sayı, string, tuple ve listelerden oluşur. Tuple veri türünden farkı ise siz bu veri türüne eleman; ekleme ,çıkarma ve değiştirme işlemlerini yapabilirsiniz, ileri ki konularda detaylı bir şekilde metotları ile birlikte anlatılacaktır. Kullanım şekli şu şekildedir.

Liste =[4,3,5.25,"Ayşe",'a',[2,6,4.5]]

2. Dictionary: Sözlükler de Tuple ve List veri türleri gibi farklı veri türleri bulunur fakat sözlükler biraz farklıdır. Sözlükler süslü parantezler ile ifade edilir ve iki kısımdan

oluşur; keys(anahtar) ve value(değer), value kısmı bütün veri türünü içerebilir fakat keys kısmı sadece string ve int tipinde olabilir. Sözlüklerde değiştirilebilir veri türü olup

ekleme,çıkarma vb. işlemler yapılabilir ileri ki konularda detaylı bir şekilde anlatılacaktır. Kullanımı ise ;

(8)

iller ={1:"Ankara",2:"İstanbul"...}

Basit Matematik İşlemler ve Operatörleri;

Toplama İşlemi operatörü(+) 3+5

8

Çıkarma İşlemi operatörü(-) 7-3

4

Çarpma İşlemi operatörü(*) 7*6

42

Bölme İşlemi operatörü(/) 8/4

2

Tam Bölme operatörü(//) 9//4

2

Kalan Bulma operatörü(%) 18%4

(9)

2

Üst Alma operatörü(**) 2**6

64

İşaret Değiştirme operatörü(-) b = -2

-b b = 2

Python da Değişken Oluşturma

Diğer programlama dillerinde değişken oluştururken şöyle bir yapı vardı.

Değişken_Türü Değişken_İsmi = Değişken_değeri ;

Yani siz bir değişken oluşturacaksanız bunun türünü belirtmelisiniz ki

hafızada ona göre yer ayırsın Ama Python da değişken türünü belirlemenize gerek yok Python siz belirtmezseniz de anlıyor. Ve belki şaşıracaksınız ama satırların sonuna “ ;” koymanıza da gerek bu da Python’u kolay ve anlaşılır bir dil yapıyor.

Yani şöyle bir yapı var;

Değişken_İsmi = Değişken_Değeri

Fakat her dilde olduğu gibi Python da dikkat etmemiz gereken bir kural var değişken ismi oluştururken dikkat etmemiz gereken kurallar var;

1. Değişken ismi içinde :'”,<>/?|\()!@#$%^&*~-+ karakterleri kullanılamaz. (Sadece “_ “sembolü kullanılabilir) örnek olarak şu kullanımlar yanlıştır ;

(10)

metin.1 ="Hello"

metin(1) = "Deneme"

bu tür kullanımlar kesinlikle yanlıştır. Değişken ismi sadece sayı,harf ve “_” karakteri içerebilir.

2. Değişken isimleri bir sayı ve aritmetik operatör ile başlayamaz .

4satır="Merhaba"

+değişkeni ="Toplama işlemi yapar"

bu tür kullanım yanlıştır sadece harf ve “_” sembolü ile başlayabilir.

3. Değişken ismi kelimelerden oluşuyorsa aralarında boşluk olamaz.

birinci metin ="Hello World"

bu tür kullanım yanlıştır mesela boşluk yerine “_” sembolü kullanabilirsiniz

birinci_metin ="Hello World"

4. Python da tanımlı anahtar kelimeler değişken ismi olarak kullanılamaz.

and del from not while

as elif global or with

5. Ayrıca değişken isimlerinde Türkçe karakter kullanacaksanız.

Kodunuza aşağıdaki ayarı vermeliyiz

(11)

# -*- coding:utf-8 -*- veya

# -*- coding:cp-1254 -*-

Ayrıca ilerde anlatacağım pep-8 kurallarına da buradan ayrıntılı detaylarına bakabilirsiniz.

Şimdi birkaç örnek vererek gösterelim;

a=5

b=3

c=a+b c=8

Aynı şekilde diğer işlemlerde yapılabilir.

Not: Bazen işlemler çok karışık olabilir bu yüzden bazı sıralama kuralları var;

1. Parantez içi her zaman önce yapılır.

2. Üst alma

3. Çarpma ve Bölme 4. Toplama ve Çıkarma

(12)

5. İşlemler soldan sağa doğru yapılır.

Örnek :

sonuc = 5+5*4/2-4+8**2

Muhtemelen böyle bir şey gördüğünüzde kafanız karışacaktır bunun için işlem önceliği olan işlemleri parantez içine alalım

5+((5*4)/2)-4+(8**2)

sonuc = 75

Son olarak bu derste gördüklerimizle Dairenin alanını hesaplayan bir örnek yapalım;

pi_sayisi = 3.14

yaricap = 2

alan = pi_sayisi*(yaricap**2)

alan =12.56

Print() Fonksiyonu Nedir :

Kafanızı çok karıştırmadan kısaca anlatmak gerekirse print() fonksiyonu ekrana çıktı almamızı sağlayan bir fonksiyondur.

(13)

Print() Fonksiyonu Nasıl Kullanılır :

Print() fonksiyon’nun üç farklı kullanımı var;

1. Tek tırnak (‘ ‘) 2. Çift tırnak (” “) 3. Üç tırnak (“”” “””)

hemen birer örnek ile gösterelim;

print('Mobilhanem.com Python Dersleri') print("Mobilhanem.com Python Dersleri") print("""Mobilhanem.com Python Dersleri""")

ve üç kullanımda da aynı sonucu alırsınız peki niye üç farklı kullanım şekli var ki yani ne gerek var diyorsanız hemen onu da bir kaç örnek ile size anlatayım ;

Şöyle bir çıktı almak istiyorsunuz ; Ali’nin bugün dersi erken bitti.

Eğer bu şekilde bir örnek yazarsanız;

print('Ali'nin dersi bugün erken bitti')

muhtemelen şöyle bir hata ile karşılaşacaksınız;

File “C:/Users/Cahit/Desktop/Mini/app.py”, line 1 print(‘Ali’nin dersi bugün erken bitti’)

^

SyntaxError: invalid syntax

yani syntax hatası sebebi ise Python ilk gördüğü tırnak işareti ile başlar ikinci tırnağı gördüğünde ise biter ikinci tırnaktan sonraki metni okuyamadığı için syntax hatası verir. Bunun için Şöyle bir kullanım daha doğru olacaktır.

(14)

print("Ali'nin dersi bugün erken bitti")

veya

print(""" Ali'nin dersi bugün erken bitti """)

şeklinde bir kullanım hatasız bir şekilde çalışacaktır.

Hemen bir örnek ile daha açıklayalım

print('Şairin de dediği gibi: “Şimdi ne yazsam da geçse kalbimin kösü ?” ')

Genel olarak print() Fonksiyonun kullanımı bu şekildedir. Peki Çıktıları farklı bir şekilde ekrana göstermek istersek yada çıktılar üzeninde işlem yapmak için ne yapmalıyız hemen ona geçelim ;

Print() Fonksiyonun Paremetreleri:

Parametre de nedir diyeniniz olduysa merak etmeyin. Fonksiyon konusunda parametreleri detaylıca anlatacağım şu anlık kafanızı takıp moralinizi bozmayın şimdilik bilmeniz gereken nasıl kullanıldığı o zaman birinci parametre ile başlayalım;

1. end Parametresi :

Bu parametre print() fonksiyonu ile ekrana verdiğimiz değerlerin sonunda hangi işlemi yapacağımızı belirtiyoruz hemen bir örnek ile kullanımını gösterelim ;

Hemen arka arkaya iki tane print() fonksiyonu yazalım;

print("Mobilhanem.com Python Dersleri") print("Mobilhanem.com Python Dersleri")

(15)

ve şöyle bir çıktı alacağız ;

Mobilhanem.com Python Dersleri Mobilhanem.com Python Dersleri

Peki biz bu iki print() fonksiyonunu yan yana nasıl yazdırabiliriz;

print("Mobilhanem.com Python Dersleri",end="") print("Mobilhanem.com Python Dersleri")

Şu şekilde bir çıktı alırız ;

Mobilhanem.com Python DersleriMobilhanem.com Python Dersleri

gördüğünüz gibi iki çıktıyı birleştirdi çünkü biz end parametresinde belirtmedik şimdi aralarında virgül işareti olacak şekilde yazdıralım;

print("Mobilhanem.com Python Dersleri",end=",")

çıktımız ;

Mobilhanem.com Python Dersleri,Mobilhanem.com

gördüğünüz gibi yapmak isteğiniz işlemi end parametresinde belirtmeniz gerekir peki başta end parametresi kullanmadan niye alt alta yazdırdı

diyenleri duyar gibiyim çünkü eğer siz print() fonksiyonu içinde parametrenin hangi işlevi yapacağını belirtmezseniz python default olarak alt satıra alıyor.

(16)

2. sep Parametresi :

Bir önceki parametre ile değerlerin sonuna hangi işlemi yapacağımızı

gösterdik peki bu değerlerin arasında farklı işlemleri nasıl yapacağız onu da sep parametesi ile yapacağız hemen bir iki örnek ile gösterelim;

Örneğin elimizde bir web sayfasının adresi var;

print("www", "mobilhanem", "com")

Şu şekide bir çıktı alırız

www mobilhanem com

gördüğünüz gibi Python değerleri birer boşluk ile birleştirdi ama biz bunu belirtmemiştik çünkü eğer biz bir şey belirtmezsek eğer Python default olarak birer boşluk olacak şekilde alır. Biz aralarında nokta işareti olacak şekilde nasıl birleştiririz kullanımı sep parametresi ile aynı;

print("www", "mobilhanem", "com",sep=".")

ve şu şekilde çıktı alırız ;

1 www.mobilhanem.com

Yorum Satırı Nedir Ne işe Yarar:

Yazılım dünyasında önemli bir konu olan okunabilirlik de çok önemli bir yeri olan yorum satırı ve açıklama satırlarıdır. Yazdığımız kodun bir başkasının anlamasını veya bizim bir başkasının kodunu anlamamızı sağlayan sihirli bir değnektir. Hele ki bir firmada çalıştınız zaman veya büyük bir projede

bulunduğunuz zaman binlerce satır kod ile uğraşacaksınız. Bazen kendi

yazdığınız kodlara bile dönüp baktığınız zaman hatırlamayabilirsiniz. İşte biz

(17)

yazılımcılar bu sorunu çözmek için yazdığımız kodlara küçük notlar veya açıklamalar ekleyerek bu sorunu ortadan kaldırıyoruz.

Nasıl Kullanılır:

Kullanımı çok basittir Python # işareti gördüğü satırları yorum satırları olarak algılıyor ve işlemiyor. hemen bir örnek ile gösterelim.

#metin isminde bir değişken oluşturduk metin = "Mobilhanem.com Python Dersleri"

#metin isimli değişkeni ekrana yazdırdık print(metin)

Gördüğünüz gibi Python kodu işlerken # işareti ile başlayan satırları işlemedi.

Peki Python # işareti ile başlayan bütün satırları yorum satırları olarak mı algılıyor? Diye sorsanız tabi ki de hayır # -*- coding: utf-8 -*- şeklinde bir satır görürseniz bilin ki bu satır tükçe karakterleri okumamızı sağlayan satırdır.

Peki ya koda ekleyeceğim açıklama bir satırdan daha fazla ise ne yapmamız lazım. Her satıra teker teker # işaretini mi koymam lazım tabi ki hayır eğer koda birden fazla açıklama satırı eklemek isterseniz üç tırnak içine yazmanız yeterli. Python yine açıklama satırı olarak algılar ve işlemez. Hemen bir örnek ile gösterelim.

""" İki sayıyı toplayıp toplamını ekrana yazdıran program

"""

(18)

sayi1 =5 sayi2 =4

topla = sayi1+sayi2 print("Toplam :",topla)

Gördüğünüz gibi açıklama satırları rengi farklı. Ayrıca alacağınız çıktıda da göründüğü gibi Python yine açıklama satırı olarak algıladı.

Peki eklediğimiz yorum satırı ve açıklama satırları kodumuzu yavaşlatır mı?

Tabi ki hayır kodunuza eklediğiniz yorum satırları programımızı

yavaşlatmaz. Ayrıca kodlarımıza eklediğiniz küçük notlar sizi daha iyi bir yazılımcı yapar. Bu yolda ilerlerken artık sadece kod yazmanın yanı sıra düzgün okunaklı kod yazmanın da önemli olduğunu göreceksiniz böylelikle kod yazmanın bir sanat olduğunu düşünebilirsiniz.

Kullanıcıdan Bilgi Alma input() :

input() fonksiyonu kullanımını en basitinden kullanıcıdan isim alarak gösterelim.

isim = input("İsminizi Giriniz :") print(isim)

(19)

Çıktı

İsminizi Giriniz :Mustafa Mustafa

Yukarıdan görüldüğü gibi kullanıcıdan bir isim bilgisi aldık. Önceki derslerimizde işlediğimiz print() fonksiyonu ile aldığımız bilgiyi ekrana yazdırdık.

Örneğin kullanıcıdan iki sayı alalım ve bunları toplayalım

sayi1 = input("Birinci sayıyı girin :") sayi2 = input("İkinci sayıyı girin :")

topla = sayi1+sayi2 print("Toplam :",topla)

Çıktı

Birinci sayıyı girin :12 İkinci sayıyı girin :25

Toplam : 1225

Görüldüğü gibi 1225 sonucu aldık aslında bu iki sayının toplamı değil 12 ve 25 sayılarının yan yana yazılışını verdi.

(20)

Yani String türünde aldı sayıları, peki biz Integer(tamsayı) türündeki verileri nasıl dışarıdan alacağız ve dışarıdan aldığımız yada işlem yaptığımız verinin en önemlisi türünü nasıl bileceğiz.

O zaman şöyle bir not düşelim hemen;

input() fonksiyonu ile sadece String(metinsel) veri türlerini kullanıcıdan alabiliyoruz.

İşte bu sorunu Öncesinde size bir type() fonksiyonundan bahsedelim.

type() fonksiyonu :

Bize verinin tipini veren fonksiyondur. Kullanımı nasıl hemen bakalım

veya

şeklinde metin değişkenin tipini aldık <class ‘str’> str yani string türünün kısaltması olduğunu verdi bize aynı şekilde diğer türleri de gösterelim;

Bir verinin türünü nasıl öğreneceğimizi öğrendiğimize göre şimdi tip dönüşümlerine geçelim.

İlk olarak Integer türünde ki veriyi String tipine dönüştürelim

(21)

sayi = 25

print("sayi değişkenin tipi",type(sayi))

Çıktı

sayi değişkenin tipi <class 'int'>

gördüğünüz gibi verinin türü Integer

sayi =25 sayi= str(sayi)

print("sayi değşkenin tipi",type(sayi))

Çıktı

sayi değşkenin tipi <class 'str'>

görüldüğü gibi sayı değişkeni artık bir Integer değil bir String değişken türü oldu.

Peki tam tersini yapabilir miyiz gösterelim hemen;

rakamlar="1234567890"

print("rakamlar değişkenin tipi",type(rakamlar))

(22)

rakamlar = int(rakamlar)

print("rakamlar değişkenin tipi",type(rakamlar))

Çıktı

rakamlar değişkenin tipi <class 'str'>

rakamlar değişkenin tipi <class 'int'>

Görüldüğü gibi String türündeki verileri de Integer türüne dönüştürebiliyoruz peki bütün String türündeki veriler Integer türüne dönüştürebiliyor muyuz gösterelim hemen;

metin ="Mobilhanem.com"

metin = int(metin) metin = "Mobilhanem.com"

metin = int(metin)

(23)

Çıktı

Traceback (most recent call last):

File “C:/Users/Cahit/Desktop/Mini/DD.py”, line 3, in <module>

metin = int(metin)

ValueError: invalid literal for int() with base 10: ‘Mobilhanem.com’

Az çok İngilizce bilginiz varsa hatanın ne olduğunu hemen anlarsınız. Hata vermesinin sebebi girilen metin değişkeninin karakterleri Integer türü dışında karakter olduğu için hata verdi yani siz sadece [0-9] arasındaki karakterleri Integer türüne dönüştürebilirsiniz.

Dışarıdan veri almayı öğrendiğimize göre ufak bir örnek ile input() fonksiyonu konusunu bitirelim;

Dışarıdan dairenin yarıçapını alıp ona göre dairenin çevresini ve alanını hesaplayan uygulamayı yapalım;

"""Dairenin Yarıçapını ve Alanını Hesaplayan program"""

yari_cap = int(input("Dairenin yarıçapını giriniz :")) pi = 3.14

cevre = 2*pi*yari_cap # cevre hesapladık alan = pi*(yari_cap**2) # alan hesapladık

print("Dairenin Çevre Uzunluğu :",cevre) print("Dairenin alanı :",alan)

(24)

Çıktı

Dairenin yarıçapını giriniz :12 Dairenin Çevre Uzunluğu : 75.36

Dairenin alanı : 452.16

Görüldüğü gibi Float türünde sonuçlar olduk istersek sadece tam kısmını yani Integer türünden alalım az önce gördüğümüz şekilde yapalım;

Çıktı

Dairenin yarıçapını giriniz :12 Dairenin Çevre Uzunluğu : 75

Dairenin alanı : 452

İstediğimiz sonucu aldık fakat burada dikkat etmeniz gereken bir nokta var Float türünden Integer türüne dönüştürünce veri kaybımız oldu buda iş hayatında bazı problemlere sebep olabilir. input() fonksiyonu kullanıcıdan bilgi almayı öğrendiğimize göre şimdi kullanıcıdan aldığımız bilgileri farklı şekilde işleyelim mesela kullanıcıdan aldığı bilgileri tekrar kullanıcıya farklı şekilde verelim.

isim = input("İsminiz :") yas = input("Yaşınız :")

print("Merhaba "+isim+" bey yaşınız "+yas+ " hala çok gençsiniz")

(25)

Çıktı

İsminiz :Mustafa Yaşınız :21

Merhaba Mustafa bey yaşınız 21 hala çok gençsiniz

Göründüğü gibi çıktıyı çok güzel şekilde aldık ama karakter dizisi oldukça karışık oldu. Ayrıca boşlukları falan ayarlamak oldukça zor oldu. Bunun için Python bize çok güzel bir imkan sağlıyor “format()” metodu hemen

kullanımına geçelim.

format() Metodu:

isim = input("İsminiz :") yas = input("Yaşınız :")

print("Merhaba {} bey yaşınız {} hala çok gençsiniz".format(isim,yas))

Aynı işi çok daha kolay ve sade bir şekilde yaptık format() metodu süslü parantezleri yerine sırasıyla aldığı parametreleri aldı ve burada dikkat etmemiz gereken şey; süslü parantez ile format() metodunun aldığı parametrelerin sıralaması aynı olması.

(26)

Koşul İfadeleri:

Python Koşul ifadeleri hemen bir örnekle açıklayalım örneğin sosyal hesabımıza girmeye çalıştığımız zaman bizden kullanıcı adı ve şifre bilgilerimizi girmemizi ister. Eğer kullanıcı adı ve şifre doğru ise giriş yapmamızı veya yanlış ise hesabımıza giriş yapamayız ancak doğru girdiğimiz zaman giriş yapabiliriz.

Başka bir örnek verelim bir ATM’den paraya çekmeye çalıştığımız zaman şifre bilgilerimiz doğru ise ancak o zaman işlemleri gerçekleştirebiliyoruz.

İşte bu işlemleri Koşullu ifadeler sayesinde yapabiliyoruz ben de bu derste size Python koşul ifadeleri olan ; if, elif ve else ifadelerini anlatmaya çalışacağım. Bu deyimleri anlatmadan önce koşullu işleçlerin tablosunu gösterelim.

Koşul işleçleri

if Deyimi:

if deyiminin ingilizcedeki anlamı “eğer” demektir buradan da anlaşılacağı gibi bur da bir koşula bağlı durum belirtiyoruz genel kullanım şekli ise şu şekildedir.

if (koşul):

koşul sağlanıyorsa gerçekleşecek işlem

hemen ufak bir örnek ile başlayalım elimizde a ve b değişkenleri olmak üzere iki adet sayı var. Bunları bir birilerine göre karşılaştıralım.

if a==b:

Burada şunu belirttik eğer ; “a ile b sayıları birbirine eşitse…”

(27)

Burada a ile b’nin birbirine eşit olma koşulu var. O zaman burada bu koşul durumuna göre bir işlem

yapacağız. burada ==(çift eşittir) işleci tabloda gösterdiğimiz gibi birbirine eşit olup olmadığını sorgulayan işleçtir.

Hemen kodumuza dönelim

a=3 b=3 if a==b:

print("a ile b birbirine eşittir")

Burada a ile b’nin birbirine eşit olma koşulunu sorguluyor eğer eşitse ekrana

“a ile b eşittir ” çıktısını verecek aksi taktirde herhangi bir işlem gerçekleşmiyecektir.

Hemen kodumuzu çalıştıralım ve karşımıza şöyle bir hata gelecektir;

File “C:/Users/Cahit/Desktop/Mini/DD.py”, line 4 print(“a ile b birbirine eşittir”)

^

IndentationError: expected an indented block

4. satırda girinti hatası aldık peki bu girinti nedir niye girinti hatası verdi.

isterseniz aynı kodu C ile yazalım;

if (a==b)

{

print("a ile b birbirine eşittir") }

(28)

Gördüğünüz gibi ekrana yazı yazdırma işlemini gerçekleştiren print() fonksiyonu süslü parantezlerin içinde yazdık bunun sebebi print() fonksiyonun if koşul deyimine ait olduğunu eğer koşul sağlarsa süslü parantez içindeki işlemler gerçekleşecektir. Python da ise süslü parantez yerine girinti işlemi kullanılır.

Python da Girintileme İşlemleri:

Bu konuya şöyle bir şey göstererek anlatmak istiyorum.

Burada görüldüğü gibi bir dosyanın içindeki dosyalar biraz daha içeride, bu o dosyanın bir üst dosyaya ait olduğunu belirtiyor. Python da ki girintileme işlemi de bu şekildedir

Burada ekrana çıktı vermemizi sağlayan kod if koşuluna ait olduğunu

belirtiyor. Ayrıca Python da girintinin olması Python kodlarını daha okunaklı kılıyor. Girinti işlemi için ise TAB tuşuna bir kez veya SPACE dört defa basmalısınız.

(29)

O zaman kodumuzu tekrar yazarsak

a=3

b=3

if a==b:

print("a ile b birbirine eşittir")

Herhangi bir hata almadık. Detaylı bilgi buradan ulaşabilirsiniz. Python girintileme sistemini öğrendiğimize göre şimdi Python Koşul

ifadeleri türlerine bakalım.

else Deyimi:

else deyimi if koşulunu sağlayan durumlar dışındaki kalan bütün durumları göstermek için kullanılır. Bu yüzden bir koşul belirtmiyoruz bu koşul

ifadesinde.

Örnğin az önce yaptığımız uygulama koşul sağlanmıyorsa herhangi bir işlem gerçekleşmiyordu. Peki biz koşul sağlanmadığı durumlarda işlem

gerçekleştirmeyi nasıl yapacağız tabi ki else deyimi ile gerçekleştireceğiz.

Hemen yapalım.

Python a = 3 b = 3 if a==b:

print("a ile b sayıları birbirine eşittir") else:

print("a ile b sayıları birbirine eşit değil")

veya şöyle bir örnek verelim elimizde bir parola var kullanıcı parolayı doğru girdiğinde sisteme giriş yapsın eğer yanlış girerse hata mesajını versin;

parolam = "python"

parola = input("Parolayı giriniz :") if parola==parolam:

print("Başarılı bir şekilde sisteme giriş yaptınız :)") else:

(30)

print("Parolayı yanlış girdiniz...")

elif Deyimi:

Bir durumun sağlanması birden fazla koşula bağlıysa elif deyimi kullanılır.

if(koşul):

işlemler

elif(koşul):

işlemler

elif(koşul):

işlemler .

. .

şeklinde kullanımı var hemen bir örnekle gösterlim.

Örneğin kullanıcıdan vize ve final sonuçlarını alalım ortalamayı hesaplayan sonra bu ortalamaya göre bir harf notu veren programı yazalım

"""Harf notu Hesaplama Programı"""

vize = int(input("Vize Notu :")) final = int(input("Final Notu :"))

ortalama = (vize*0.4)+ (final*0.6) # vizenin %40 final %60 olarak alındı

if (ortalama>=85):

print("Harf notunuz : AA0")

elif(ortalama>=70 and ortalama <85):

print("Harf notunuz : BA")

elif(ortalama>=60 and ortalama <70):

print("Harf notunuz : BB")

elif (ortalama >= 45 and ortalama < 60):

print("Harf notunuz : CB")

elif(ortalama>=0 and ortalama <45):

(31)

print("Harf notunuz : FF")

şeklinde kaba taslak bir uygulama yaptım siz burada ayrıca vize ve final notlarını 0-100 bir değer girmesini sağlayabilirsiniz.

Python Döngüler :

Python da baya yol almamıza rağmen hala bizi kısıtlayan bazı problemler var mesela bir önceki dersimizde basit bir hesap giriş uygulaması yapmıştık Kullanıcı adı ve parola doğru ise sisteme giriş yapıyordu eğer yanlış ise program kapanıyordu. Sisteme tekrar giriş yapmamız için uygulamayı tekrar başlatmamız gerekiyordu. Daha basit bir örnek vermek gerekirse ekrana on defa “Python Dersleri” yazdırmak istersek on defa print() fonksiyonunu kullanmamız gerekiyor.

İşte biz bu dersimizde eğer kullanıcı , kullanıcı adı ve parolayı yanlış girerse kullanıcıya tekrar Kullanıcı adı ve parola girme imkanı verilsin veya sadece bir print() fonksiyonu ile ekrana on defa “Python Dersleri” yazısını yazdırma işlemi yapsın. işte bunu Pyhon döngüler(loop) ile yapacağız. İki farklı döngü çeşidi var ; while ve for ayrıca bu döngüler de bize lazım

olan range() ve len() fonksiyonu ile break, continue ve in deyimlerine değineceğim.

While Döngüsü:

İngilizce bir kelime olan while Türkçe deki karşılığı “-iken” dir. Python da yazdığımız kodları tekrar çalıştırmamızı sağlayan döngü çeşididir. Çalışma mantığı ise while döngüsü her defasında tekrarlanır , eğer koşul

sağlıyorsa tekrar döngüye girer , eğer sağlamıyorsa döngü sonlanır hemen bir örnekle gösterelim; 0 ile 10 arasındaki sayıları ekrana yazdıralım.

sayi=0

while sayi <=10:

print(sayi)

sayi = sayi+1

(32)

Kodları sırayla inceleyelim ilk satırda sayı adında bir değişken oluşturduk ve değerini sıfır yaptık ikinci satırda sayı değişkenin değeri 10’dan küçük ve eşit olduğu sürece döngü tekrar etsin.

Üçüncü satırda ekrana sayı değişkenini yazdırma işlemini yaptık ve dördüncü satırda sayı değişkenini bir artırdık.

Program nasıl çalışacak;

İlk olarak sayı değişkeninin değeri sıfır bunu on ile karşılaştıracak eğer küçük ve eşitse döngü içine girecek ilk olarak sıfır değerini ekrana yazdıracak sonra sayı değişkenini bir arttıracak sayı değişkenin yeni değeri bir olacak ve tekrar döngünün başına gelecek. Yine aynı şekilde on değeri ile karşılaştıracak ekrana yeni değeri yazdıracak ve değeri bir artıracak , sayı değişkenin değeri on dan büyük olana kadar ve döngüyü sonlandıracak.

Şimdi bir önceki dersimizde basit olarak yaptığımız harf notu uygulamasını while döngüsü ile tekrar yapalım;

"""Harf notu Hesaplama Programı"""

while True:

vize = int(input("Vize Notu :"))

final = int(input("Final Notu :"))

ortalama = (vize * 0.4) + (final * 0.6) # vizenin %40 final %60 olarak alındı

if (ortalama >= 85):

print("Harf notunuz : AA0")

elif (ortalama >= 70 and ortalama < 85):

print("Harf notunuz : BA")

elif (ortalama >= 60 and ortalama < 70):

print("Harf notunuz : BB")

elif (ortalama >= 45 and ortalama < 60):

print("Harf notunuz : CB")

(33)

elif (ortalama >= 0 and ortalama < 45):

print("Harf notunuz : FF")

artık while döngüsü sayesinde üst üste hesaplama işlemi yapabiliyoruz.

For Döngüsü:

Python Döngüler de bir diğer döngümüz ise for döngüsüdür. While döngüsü ile aynı işlevi gören bu döngünün kullanımı biraz farklıdır ama işlevleri aynıdır. Hemen while döngüsü ile yaptığımız 10’a kadar sayıları ekrana yazdırma işlemini for döngüsü ile yapalım;

for sayı in range(0,11):

print(sayı)

Burada da değişken sayı, koşul ise sayı değişkenin 0 ile 10 değerleri arasında olması. Farklı bir örnekle daha gösterelim.

for harf in “Python”:

print(harf)

Python Döngüler konusunun her iki döngü çeşidini gördüğümüze göre.

Hangisini kullanmamız daha iyi diye sorarsanız ikisinin birbirine göre üstünlüğü yok bir uygulamada while döngüsü daha iyiyken başka bir uygulamada for döngüsü daha avantajlı olabilir.

Range Fonksiyonu:

Türkçede karşılığı “aralık “olan bu fonksiyon sayı aralıklarını belirtir.

Kullanımı şu şekildedir;

range(başlangıç değeri , bitiş değeri, değişim miktarı)

range(10) : sıfır ile 9 aralığındaki sayıları belirtir. Başlangıç değerini

belirtmediğimiz için default olarak 0, değişim miktarını belirtmediğimiz için

(34)

ise default olarak 1 değerini alır. Ve dikkat etmemiz gereken başka bir husus ise bitiş değerini dahil etmiyor.

range(2,20,2): iki ile 19 arasındaki sayıların ikili artış şeklindeki sayıları kapsar.

range(20,2,-2): 20 ile 2 arasındaki sayılların ikili azalma ile olan sayıları kapsar

in İşleci:

Türkçe deki karşılığı “içinde” olan bu işlevi istenilen değer yada arlık içinde olup olmadığını sorgulama yapmamızı sağlayan işleçtir.

Örneğin

for sayı in range(20):

burada sayı değişkeni 0 ile 19 arasındaki bütün değerleri alır.

Len() Fonksiyonu:

Türkçe de ki anlamı “uzunluk” olan length kelimesinin kısaltması olan bu fonksiyon karakter dizileri, liste, demet gibi değişkenlerin uzunluğunu gösterir.

Örneğin

metin ="Python"

print(len(metin))

veya listelerde

liste =[2,36,”Python”,2,5]

print(len(liste))

(35)

Peki bu fonksiyon nerelerde kullanılır; mesela sosyal hesabınız işin şifre oluşturduğunuz zaman en az 6 karakter yada en fazla 12 karakter girmenizi ister bu tur işlemlerde yada elinizde olan bir verinin uzunluğunu öğrenmek için kullanabilirsiniz ama kesinlikle tamsayılar da kullanamazsınız bu fonksiyonu.

Break Deyimi:

Türkçe de ki anlamı bırakmak “terketmek” olan bu kelime Python da bir döngüyü sonlandırmak için kullanılır yorumlayıcı bunu gördüğü zaman programı sonlandırır diğer kodlar yorumlanmaz. Hemen bir örnekle gösterelim.

Şimdi bir önceki dersimizde yaptığımız hesaba giriş uygulamasını while() ile tekrar düzenleyelim bu sefer kullanıcıya üç defa giriş hakkı verilsin kullanıcı bilgileri yanlış girdiği zaman giriş hakkı bir azaltıp tekrar kullanıcıdan

bilgileri istesin.

kullanici_adim="Python"

parolam ="1234"

giris_hakki=3

while giris_hakki>0:

giris_hakki -=1

kullanici_adi = input("Kullanıcı Adınızı Girin :")

parola = input("Parolayı Giriniz :")

if kullanici_adi==kullanici_adim and parola== parolam:

print("Sisteme başarılı bir şekilde giriş yaptınız.")

else:

print("Kullanıcı bilgileri yanlış tekrar deneyin!")

Kullanıcı adı ve parolayı doğru girdiğimizde yine bizden kullanıcı adı ve parolayı istiyor ama bizim istediğimiz bilgileri doğru girdiğimiz zaman giriş yapalım ve işlem sonlansın bunun için hemen break deyimini kullanalım;

(36)

kullanici_adim="Python"

parolam ="1234"

giris_hakki=3

while giris_hakki>0:

giris_hakki -=1

kullanici_adi = input("Kullanıcı Adınızı Girin :")

parola = input("Parolayı Giriniz :")

if kullanici_adi==kullanici_adim and parola== parolam:

print("Sisteme başarılı bir şekilde giriş yaptınız.")

break else:

print("Kullanıcı bilgileri yanlış tekrar deneyin!")

Continue Deyimi:

Türkçe deki anlamı “devam” etmek olan bu deyim yorumlayıcı gördüğü zaman diğer kodları es geçer ve döngünün başına gelir hemen bir örnekle gösterelim;

for sayi in range(20):

if sayi%2==0:

continue

else:

print(sayi)

Burada sayı değişkeni 2 ye tam bölüyorsa yorumlayıcı continue deyimi sayesinde sayı değişenin 2 ye tam bölündüğü koşulları es geçip döngünün başına gelecektir.

Kaynakça : www.mobilhanem.com

Referanslar

Benzer Belgeler

Bir önceki bölümde nasıl ba¸ slataca˘ gımızı ve nasıl kullanaca˘ gımızı ö˘ grendi˘ gimiz etkile¸ simli kabuk üzerinde biraz daha çalı¸ smaya devam edece˘ giz..

Görülece˘ gi gibi, bu kez de˘ gi¸ skenlerimiz tamsayı yerine karakter dizisi oldu˘ gu için parantez içinde de˘ gi¸ skenleri belirtirken tırnak i¸ saretlerini

Ama daha önce de anlattığımız gibi, siz &#34;Toplama().a&#34; der demez sınıf çalıştırılacak ve çalıştırıldıktan hemen sonra ortada bu sınıfa işaret eden herhangi

•int() =&gt; Herhangi bir sayıyı veya sayı değerli karakter dizisini tam sayıya dönüştürür. •str() =&gt; Herhangi bir sayıyı karakter

Program katılımcılarının senkron dersler, egzersiz ve ödevler için ayıracağı sürenin 160 saat ana program (+90 saat: Python bilmeyenler için program öncesi

Django benzeri bir model yapısı var Web tabanlı admin paneli i¸cerisinde bolca Ajax teknolojisi barındırıyor. Web ¨ uzerinden python-shell kullandırtabiliyor

Küçük kodları IDLE ekranına yazabilirsiniz ancak daha geniş kapsamlı kodlar için sol üst köşede File [Dosya] menüsüne ait olan New Window [Yeni Pencere]

Aynı zamanda topluluk olarak, siber güvenlik alanında çalışmaya başlayan arkadaşlarımızla özel olarak çalışarak, gittiği kurumlarda daha başarılı olmasını