Skip to main content

Python Web Frameworks Full İnceleme | Nedir & Nerelerde Kullanılır ?

PYTHON WEB FRAMEWORKS FULL İNCELEME 

Python web frameworks nedir ? Python web frameworks nerelerde kullanılır ve nasıl çalışır ? Bugün Python Web Frameworks full inceleme adlı yazımızla karşınızdayız.

Başlayalım.

PYTHON WEB FRAMEWORKS

Web frameworks yani yapıları, Web geliştirmeyi daha hızlı ve kolay hale getiren kod kütüphaneleridir.

Çok yönlü programlama dili olan Python ; Django, Web2py, Flask, Bottle, vb. gibi birçok Web yapısına sahiptir.

Python, bir Web uygulaması hazırlamaya çalışan ekipler için özel olarak tasarlanmış gerçekten çok güzel ve esnek bir programlama dilidir. Geliştiriciler ve frameworks yani yapılar, işlenmekte olan ürünlerin yapı taşları olduğu için yakından ilişkilidir.Bu tür yapılarla, bir dizi çözüm ortaya çıkar, böylece geliştiricinin tekrarlayan ve diğer düşük öncelikli görevlerden ziyade uygulama mantığına daha fazla odaklanmasına izin verilir.

Dışarıda bilinen, tanınmış çok çeşitli Python Web yapıları vardır ki özellikle kurumsal tabanlı çözümler için tasarlanmış güçlü tam yığın yapılardan, küçük ve özel araçlar geliştirmek için geliştirilmiş ultra hafif mikro yapılara kadar birçok çeşidi bulunmaktadır.

Python Web yapıları, Web uygulaması geliştirme için harcanan maliyeti, çabayı ve harcanan zamanı büyük ölçüde azaltmaya yardımcı olur.Web uygulaması geliştirme sırasında size yardımcı olmak için bu güzel ve farklı yapıların bazı temel işlevlerini paylaşacağız.

Web yapıları nelerdir?

Web yapıları, geliştiricilerin soketler, protokoller, iş parçacığı yönetimi, vb. gibi ayrıntılara girmeden Web uygulamaları ve hizmetleri oluşturmalarını sağlar.Web yapısının ortak görevlerinden bazıları çerezleri ele almak, form parametreleri almak, oturumlarla uğraşmak vb. iki ana yapı türü vardır: tam yığın ve mikro yapı.

Tam yığın veya mikro yapı nedir ? Bir yapıyı seçerken ciddi bir biçimde odaklanmalısınız ve dikkate alınması gereken önemli hususlar projenin büyüklüğü ve karmaşıklığı olmalıdır. Burada işlev odaklı bir Web uygulaması almayı umuyorsanız, tam kapsamlı bir alternatif, ekibinize hem zaman hem de çaba açısından yardımcı olabilir.Ancak, minimum gereksinime sahip küçük ve nispeten basit bir proje üzerinde çalışıyorsanız, bir mikro yapı sizin en iyi seçiminizdir olacaktır.İlgili bir soru şu olmalıdır aslında ;  bir framework yani sistemin yapısı için ne kadar çaba harcamanız gerekecek?

Tam yığın olan bir Web yapısı, tamamen işlevsel bir Web uygulaması geliştirmek için ihtiyaç duyduğunuz tüm bileşenlere sahip olmalıdır ki erişim listeleri, şablon oluşturma, vb. Bu, bir ürünü hızlı bir şekilde oluşturmaya çalışan ekipler için çekici bir seçenektir.Çünkü bu durum yalnızca uygulamanın geliştirilmesine odaklanılmasına olanak tanır, etrafında dönen her şeye odaklanılmasını bir noktada engeller.Her durumda, karmaşık özel gereksinimleriniz varsa veya zaten farklı türde özel yazılımlarla çalışıyorsanız, bu kütüphanelerden yararlanamayabilirsiniz.

Tam yığın yapılar Python yapıları arasında yepyeni bir tam yığın seçenekleri bulunmaktadır. Öne çıkan yapılardan bazıları TurboGears 2, Pylons ve Web2py’dir.Ancak aralarında en popüler olanı Django’dur. 

Django: En iyi bilinen Python framework yani yapısıdır.Çok sayıda web sitesi zaten yayıncılıktan sosyal medyaya ve paylaşım sitelerinden kayda değer kurumlara ve kar amacı gütmeyen kurumlara kadar Django kullanmaktadır. Django başlangıçta haber sistemleri için  kullanılmak üzere geliştirildiğinden, Washington Post ve The Guardian gibi gazetelerin bu yapıda çalışması pek de önem ifade etmemektedir. Eventbrite ve Disqus gibi yeni şirketler ve girişimler, dönüşüm oranlarını iyileştirmek için Django’ya geçiş yaparken, Instagram ve Pinterest gibi sosyal medya devleri dinamik Web uygulamalarını kontrol etmek için Django kullanmıştır.

Yapı olarak kabul edildiğinde, Django amatör geliştiriciler için hızlı ve kolay bir yapıya sahiptir. Yapı olarak kimlik doğrulama, oluşturma şablonu, ORM, yönlendirme, vb. istediğiniz tüm temel bileşenleri sağlar ancak diğer bazı ana Web yapılarında de geçerli değildir. Django, pek çok seçenekle uğraşarak yeni bir projeyi başlatmak için harcanan zamanı önemli ölçüde azaltabilir.Bununla birlikte, hızda kazandığınız şey uzun vadeli esneklikte kaybolabilir.Örnek olarak , Django’nun yerleşik ORM’si büyük uygulamalarda etkin bir şekilde çalışır.Ancak, en iyi Python veritabanı soyutlama aracı olarak da adlandırılan SQLAlchemy kadar etki yaratamaz.SQLAlchemy’yi Django ile varsayımsal olarak kullanabilseniz de, Django’yu başlangıçta bu kadar çekici kılan bazı önemli işlevselliklerini kaybedersiniz.

Web2py: Öne çıkan diğer tam yığın yapısıdır.Web2py hakkında hatırlanması gereken bir şey, Python 3 ile uyumlu olmamasıdır. Web2py’nin arkasındaki orijinal geliştiriciler Python 3 için uyumlu bir halefi garanti etmişlerdir, ancak şimdiye kadar başlatmamışlardır.Python’un en son sürümünün on yıl gerisinde kalmasına rağmen, Web2py hala çokuluslu bankalar dahil birçok büyük işletme tarafından kullanılmaktadır.

Bu eski Web yapısını geliştiriciler için hala cazip kılan şey, benzersiz işlevleridir.Birincisi, Django kadar basit ve öğrenmesi kolay ve aynı zamanda daha esnek ve taşınabilirdir.Aynı kod, AWS veya Google App Engine’in kullanılmasına bakılmaksızın, bir SQL veritabanı veya MongoDB içeren hemen hemen her VPS için kullanılabilirdir.Bir diğer mükemmel unsur, Web2py’ye kod düzenleyici, hata ayıklayıcı, hata biletleme yapısı, tek bir  dağıtım işlemi vb. içeren kendi IDE’sinin eşlik etmesidir.Kuruluşunuz gelecek yıllarda Python 2’ye odaklanmışsa veya kullanmak niyetindeyseniz bazı yerleşik Python kütüphaneleri ve yazılımlarından biri olan Web2py ihtiyaçlarınızı mükemmel şekilde karşılayabilir.

Piramit: Piramit tam olarak bir yığın yapısına sahip değildir, ancak Goldilocks yapısı olarak kendini ayarlar.Piramit, kullanıcılara yapılacak işleri yapmanın herhangi bir yolunu zorlamadan , etkin özelliklerle zenginleştirilmiştir.Şeffaflığı ve modülerliği nedeniyle deneyimli Python geliştiricileri arasında en sevilen Web yapılarından biridir ve hem orta ölçekli ekipler hem de Mozilla, Yelp, SurveyMonkey ve Dropbox gibi teknoloji devleri tarafından kullanılmıştır. Gerçekte, bir Piramit yapısının hemen hemen her bileşeni değiştirilebilir. Bir veritabanıyla nasıl arayüz oluşturduğunuzu, hatta bağlanmak istediğiniz veritabanlarının türünü (veya türlerini) seçebilirsiniz. Django’nun yaptığı gibi sizin için belirli seçimleri onaylamaz ve ayrıca bazı işleri otomatik olarak yapan ‘sihir’ özelliklerini de reddeder.

Piramit, güvenlik kontrolleri nedeniyle popüler olup, erişim kontrol kayıtlarının kurulmasını ve kontrol edilmesini kolaylaştırır.Bahsetmeye değer başka bir yenilikçi işlevsellik ise, URL’lerin kodla eşleştirilmesi için kullanılan Piramitin Traversal sistemidir.

Mikro yapılar

Elde tutma gereksinimi duymama olasılığını veya tam yığın yapının karmaşıklığını düşünelim.Günümüzde modern Web uygulamaları, veritabanı soyutlama, yapı onayı ve değiştirilmiş erişim kontrolü kayıtları da dahil olmak üzere çok sayıda hareketli parça gerektirir. Ancak hiçbirini gerektirmeyen birçok Web uygulaması bulunmaktadır.Bu tür projeler için, bir mikro yapı  tam olarak gerekli olan ihtiyaç olabilir.

Bu ultra hafif yapılar,işlevselliğini yitirmiş web uygulamalarını mümkün olduğunca hızlı bir şekilde çalıştırmak için geliştirilmiştir.Özellikler konusunda tasarım açısından minimum düzeydedir ki başka bir kütüphane kurarak elde edebileceğiniz işlevler kasıtlı olarak bırakılmıştır. Bu ılımlı yaklaşımla çalışmanın bir avantajı, kodunuzun daha temiz ve sitenin daha hızlı olabilmesidir. Bunun nedeni, mikro yapıların tam yığın yapılardan daha az soyutlanmış olmalarıdır. Oluşturduğunuz kod, başlangıç ​​seviyesine daha uygun bir yapıya kıyasla HTTP kapasitelerine önemli ölçüde yakın olacaktır.

Flask : Flask hiç şüphesiz Python için en meşhur mikro yapı ve en bilinen Python yapıları arasında göze çarpan bir şeydir. Django gibi, Web uygulamalarını mümkün olduğunca hızlı ve zahmetsizce çalıştırmak ve çalıştırmak için geliştirilmiştir.Küçük boyutundan bağımsız olarak, Flask, LinkedIn ve Pinterest dahil olmak üzere büyük kuruluşlar tarafından kullanılmaktadır.Her durumda, işte bunlardan biri – Flask, Django’dan daha küçük ve daha kolay projeler için ideal olduğundan, Web sunucusu geliştirme, Google App Engine desteği ve dahili birim testi bekleyebilirsiniz.

Veri tabanı soyutlama katmanı, form doğrulama ve otomatik yükleme özellikleri devre dışıdır.Bununla birlikte, bu özelliklerin her biri uzantılar yoluyla dahil edilebilirdir.Bazı temel kurulumlar veritabanı için SQLAlchemy’i veya şablonlama ve CouchDB için Jinja2’yi içerir.Sıfırdan temiz kod tercih ederseniz, Flask iyi bir alternatif olabilir.

Bottle : Bottle ise bir diğer önemli mikro yapıdır.Başlangıçta hala mükemmel bir kullanım örneği olan Web API’leri oluşturmak için geliştirilmiştir.Bottle hakkında daha fazla merak uyandıran şey ise , her şeyi tek bir belgede yürütmeye çalışmasıdır ki , bu durum bize  ne kadar mikro olması gerektiği konusunda kısa bir fikir vermektedir.Kullanıma hazır işlevleri, şablonlama, yönlendirme, yardımcı programlar ve WSGI standardı üzerinde bazı temel soyutlamaları içerir.

Flask gibi, tam yığın sistemden çok daha yakın bir şekilde kodlama yapacaksınız.Burada dikkate değer diğer bir konu ise bottle ile  Web arayüzleri oluşturma işlemleri Netflix tarafından kullanılmıştır.

Diğer popüler yapılar 

En yaygın kullanılan Python sistemlerinden bazılarını inceledik, ancak aralarından seçim yapabileceğiniz çeşitli seçenekler bulunmaktadır.Belirli durumlarda iyi performans gösterebilecek diğer birkaç yapıya da hızlıca göz atalım.

Tornado, özellikle eşzamansız Giriş/Çıkış kullanarak C10k sorunuyla mücadele etmek için geliştirilmiş bir Python Web yapısıdır (yani, doğru şekilde yapılandırılmışsa 10.000’in üzerinde eşzamanlı bağlantıyla başa çıkabilir). Bu, eşsiz ve sayısız eşzamanlı kullanıcı gerektiren projeler için sağlam bir cazibe sunar.

CubicWeb, diğer yapılardan tamamen farklı, ilgi çekici bir web yapısıdır. MVC’nin modelini ve görüş kısmını tek bir konseptle değiştirir – Web için Docker’a benzer şekilde farklı bileşenleri geliştirmek için kullanılabilecek veri küpüdür.

Phalcon, bulut API’leri oluşturmaya bağlı mikro bir yapıdır.Diğer mikro yapılar gibi, minimum bağımlılıkları korur ve karmaşık özellikler ile arasında etkin bir mesafeyi korur.Bununla birlikte, diğer sistemlerden farklı olarak, HTML sayfaları sunmak için geliştirilmemiştir.Aksine, hızlı bir şekilde RESTful API’ler oluşturmak içindir.

Her ne kadar Androidin olağanüstü bir SDK’sı olsa da, Java yerine Python’un uygulanması web sitesi ve uygulama geliştirme (Kivy’yi kullanarak) için daha hızlı geri dönüş süreleri ve Python kitaplıklarının yeniden kullanımı için sunduğundan daha büyük bir avantajdır.

Python, Web uygulaması geliştirmelerinde de kullanılan güvenilir ve güvenli bir geliştirme dilidir.

Mevcut seçenekler arasında en güvenilir olanlardan birisi olarak göze çarpmaktadır.

Birinci sınıf ve sağlam bir Web uygulaması ve sitesi oluşturmaya çalışmak için harcanan geliştirme süresini azaltır.Bu durum da geliştiriciler için istenen ve faydalı bir katkı sağlar.

PYTHON WEB FRAMEWORKS FULL İNCELEME SONUÇ : 

Bugün Python Web Frameworks Full İnceleme Nedir adlı yazımızla karşınızdaydık.Umuyorum faydalı bilgiler edinmişsinizdir.Python ile ilgili inceleme yazılarımıza devam edeceğiz.

İyi Çalışmalar

Python Dersleri -5 || Anahtar Kelimeler ve Tanımlayıcılar

PYTHON ANAHTAR KELİMELER VE TANIMLAYICILAR NEDİR ? 

Python’da kullanılan anahtar kelimeler ve tanımlayıcılar nedir ? Python dili nedir ? Python dilinde anahtar kelime ve tanımlayıcıları nasıl kullanmalıyız ? Bu ve benzeri sorulara cevap aradığımız Python Anahtar kelimeler ve tanımlayıcılar nedir adlı yazımızla karşınızdayız.

Python ile ilgili bilgileri python dersleri serisinde tarafınıza aktarmaya çalışacağız.

Başlayalım.

ANAHTAR KELİMELER VE TANIMLAYICILAR

Aşağıdaki tanımlayıcılar ayrılmış sözcükler veya dilin anahtar sözcükleri olarak kullanılır ve normal tanımlayıcılar olarak kullanılamaz.Tam olarak burada yazıldığı gibi yazılmalıdırlar;

False  , class , finally , is , return , None , continue, for , lambda , try ,True  , def  , from , nonlocal , while ,and , del , global , not ,  with ,as  , elif , if  , or ,  yield , assert, else, import, pass , break  ,except  ,in, raise

Python’da, ne tür bir veriyi değişkene koyacağımızı belirtmeyiz.Böylece doğrudan abc = 1 yazabilir ve abc bir tamsayı veri türü olur. Eğer abc = 1.0 yazarsanız, abc kayan yazı tipine dönüşecektir. Verilen iki sayıyı eklemek için küçük bir program ;

>>> a = 13

>>> b = 23

>>> a + b

36

Yukarıdaki örnekte, Python’da bir değişken bildirmek için ihtiyacımız olan tek şey sadece isim ve değeri yazmaktır.Python ayrıca dizeleri de işleyebilir. Tek tırnak içinde veya çift tırnak kullanarak bu işlemleri gerçekleştirebiliriz.

>>> ‘Turkiye’

‘Turkiye’

>>> “Merhaba Dünya!”

“Merhaba Dünya!’

Klavyeden girişi okuma

Genellikle gerçek hayattaki Python kodlarının klavyeden girişi okumasına gerek yoktur.Python’da giriş yapmak için giriş fonksiyonunu kullanırız. Input (“gösterilecek dize”),bir dizeyi çıktı olarak döndürecektir.Klavyeden bir sayı okumak için bir program yazalım ve 100’den az olup olmadığını kontrol edelim.Programın adı testhundred.py olsun ;

number = int (input(“Bir tamsayı girin:”))

if sayı <100:

print  (“Numaranız 100’den kücük”)

else:

print (“Numaranız 100’den büyük”)

Output :

$ ./testhundred.py

Tam sayı girin: 13

Numaranız 100’den küçük

$ ./testhundred.py

Bir tam sayı girin: 123

Numaranız 100’den büyük

Bir sonraki programda yatırımları hesaplayacağız.

miktar = float (input (“Girdi tutarı:”))

inrate = float (input (“Faiz oranı:”))

period = int (input (“Girilen süre:”))

deger = 0

yıl = 1

while yıl <= period:

deger  = miktar + (inrate * tutar)

print (“Yıl %d Rs.% .2f”% (yıl, deger))

miktar = değer

yıl = yıl + 1

Output

$ ./investment.py

Tutarı girin: 10000

Faiz oranı: 0.14

Girilen süre: 5

Yıl 1 Rs. 11400,00

Yıl 2 Rs. 12996,00

Yıl 3 Rs. 14815,44

Yıl 4 Rs. 16889,60

Yıl 5 Rs. 19254,15

Bazı örnekler

Bazı değişkenler ve veri türleri örneği ;

N sayının ortalaması örneği ;

Bir sonraki programda, ortalama N sayıları yapacağız.

N = 10

toplam = 0

sayı = 0

while count <N:

sayı = float (input (“”))

toplam = toplam + sayı

sayma = sayma + 1

ortalama = float (toplam) / N

print (“N =% d, Toplam =% f”% (N, toplam))

print (“Ortalama =% f” % ortalama)

Output

$ ./averagen.py

1

2.3

4.67

1.42

7

3.67

4,08

2.2

4.25

8.21

N = 10, Toplam = 38.800000

Ortalama = 3.880000

Sıcaklık dönüşüm örneği

Bu programda, verilen sıcaklığı C = (F-32) /1.8 formülü kullanılarak Fahrenheit’ten Santigrat’a çevireceğiz.

fahrenheit = 0.0

print (“Fahrenheit Celcius”)

while fahrenheit  <= 250:

celcius = (fahrenheit – 32.0) / 1.8 # Burada Celsius değerini hesaplıyoruz

print (“% 5.1f% 7.2f”% (fahrenheit, celcius))

fahrenheit = fahrenheit + 25

Output

$ ./temperature.py

Fahrenheit santigrat

0,0   -17,78

25.0   -3,89

50.0   10.00

75.0   23,89

100.0   37.78

125.0   51,67

150.0   65,56

175.0   79,44

200.0   93.33

225.0   107,22

250.0   121.11

Tek bir satırda birden fazla atama örneği :

Tek bir satırda birden çok değişkene değer atayabilirsiniz,

>>> a, b = 45, 54

>>> a

45

>>> b

54

Bu değişimle iki sayıyı kullanmak çok daha kolay olmaktadır.

>>> a, b = b, a

>>> a

54

>>> b

45

Bunun nasıl çalıştığını anlamak için, tuple adı verilen bir veri türü hakkında bilgi edinmeniz gerekecek. Tuple oluşturmak için virgül kullanıyoruz.Sağ tarafta ise tuple yaratıyoruz (buna tuple paketleme diyoruz) ve sol tarafta ise yeni bir tuple açıyoruz.

Aşağıda, paketleme işleminin başka bir örneği vardır.

>>> data = (“Mustafa”, “Turkey”, “Python”)

>>> isim, ülke, dil = veri

>>> isim

‘Mustafa’

>>> ülke

‘Turkey’

>>> dil

‘Python’

Dizeleri biçimlendirme

Python 3’te bir dizeyi biçimlendirmenin birkaç farklı yolu vardır. Bir metni dinamik olarak biçimlendirmek için bu yöntemleri kullanırız. Aşağıda birkaç örnek olsa gideceğim.

.format yöntemi

Bu, dizeleri biçimlendirmek için tercih edilen yollardan biridir.Örnek ;

>>> isim = “Mustafa”

>>> dil = “Python”

>>> msg = “{0} seviyor {1}.”.format (name , language)

>>> print (msg)

Mustafa Python’u seviyor.

Python 3.6’da dize biçimlendirmesi yapmak için yeni bir yolumuz var.PEP 498, f-dizeleri olarak adlandırılan konsepti ifade eder.

İşte f-dizeleri kullanarak bir örnek ;

>>> isim = “Mustafa”

>>> dil = “Python”

>>> msg = f “{name} seviyor {dil}.”

>>> print (msg)

Mustafa Python’u seviyor.

F dizeleri, bir dizede Python ifadelerini gömmek için basit ve okunabilir bir yol sağlar.İşte birkaç örnek daha ;

>>> cevap = 42

>>> print (f “Cevap {cevap}’dir.”)

Cevap 42’dir.

PYTHON ANAHTAR KELİMELER VE TANIMLAYICILAR NEDİR  SONUÇ :

Bugünki yazımızda Python Anahtar Kelimeler ve Tanımlayıcılar Nedir konusunu inceledik.Python dilini bende sizin kadar iyi öğrenmek istiyorum.Umuyorum bu seri ile hep beraber hızla birtakım bilgiler elde ederiz.

İyi Çalışmalar

Python Dersleri -4 || Python Öğren Serisi

PYTHON DERSLERİ -4

Methodlar nedir ? Python eğitimleri nedir ? Listeler nedir ? Demetler nedir ? Listeler ve demetlerin birbirinden farkları nedir ? Karakter dizileri nedir ? Bu ve benzeri sorulara cevap aradığımız bu yazımızda python derslerine devam ediyoruz.

PYTHON ÖĞREN SERİSİ -4

Method : Nesnelerin nitekliklerini değiştirme , sorgulama ve bu nesnelere yeni özellikler katmaya yarayan araçlardır.

Karakter dizisini doğrudan biz tanımlayabiliriz ya da kullanıcıdan isteyebiliriz.

>>>For karakter in nesne :

>>>Print (karakter)  komutları ile de dizinin öğelerine tek tek erişebiliriz.

Ya da  print (*nesne , sep=’\n’) komutları ile de erişebiliriz.

Bu şekilde karakter dizilerinin tamamına erişebiliyoruz ve eğer lokal olarak erişim istersek yani dizinin 1. Elemanı ya da 3. Elemanı gibi düşünürseniz o zaman karakter dizisini atadığımız sabitin yanına [] kullanılır.Köşeli parantezlerin içine de hangi öğeye erişmek istiyorsak o yazılır.

Örnek :

>>>nesne = “123456789”

>>>int (nesne[1]*2)

Çıktısı : 4 (1 nolu eleman = 2 , ve bunu iki ile çarptık , sonuç : 4)

Not: Pythonda öğe sıralaması ‘0’ dan başlar.

Tersten öğelere erişmek içinse de ; [-2] gibi örneğin , yazılabilir.Burada sondan ikinci öğenin değeri bize verilecektir.

Tek tek elle sayı girmek yerine ise ;

For i in range(7):

Print(derstagram[i]) şeklinde bir yapı da kullanılabilir.

Eğer uzunluğunu bilmiyorsak ise ;

For karakter in range (len(derstagram)):

Print (derstagram[karakter])   şeklinde kullanabilirsiniz.

Kullanıcıdan bir isim alıp sonra sırası ile harfleri yazdırmak istiyorsunuz diyelim

İsim = input(“isminiz : ”)

For i in range (len(isim)):

Print (“isminizin {}. Harfi :{}”.format(i,isim[i]) şeklinde bir kod bloğu yazabilirsiniz.

Burada isminizin 0. Harfi die bir ifade ile karşılaşacaksınız.Bunu yadırganmaması adına 1. Harfi olarak yapmak içinse .format(i+1, isim[i]) şeklinde bir işlem yapabilirsiniz.

Karakter dizileri için -> [0 : 10] , [3 :5] , [1 : 28] gibi işlemler aslında bu aralıkları al ve göster demek anlamına gelir.Mesela a = mustafa olsun.Daha sonra a[0 : 5] dediğimizde program bize musta kısmını gösterecektir sadece.

Mantık : karakter_dizisi[alınacak_ilk_öğenin_sırası : alınacak_son_öğenin_sırasının bir fazlası]

Peki şöyle bir ifade yazsaydık -> a [3:] ;  şimdide 3.karakter sonrasını ekrana basacaktır.

Karakter dizisini tersten yazdırmak mı istiyorsunuz ? –> a [: : -1] şeklinde bir komutla bu işi çözebilirsiniz.

Ya da karakter dizisi içerisinde sadece bir bölümü tersine çevirmek istiyorsanız -> a [0:3:-1] şeklinde bir komutla bu işi çözebilirsiniz.

Ya da bir karakter dizisi içerisinde çift haneli olanları ekrana basabiliriz. a[0:7:2] gibi.

Not : Ek olarak reversed() fonksiyonu ile de tersine çevirme işlemi yapabilirsiniz.Mantığı ise ;

For i in reversed (“mustafa”) :

Print (i, end=” ”) şeklinde kullanabilirsiniz.

Karakter Dizilerini Alfabe Sırasına Dizmek  :

Burada sorted() adlı bir fonksiyondan yararlanacağız.

Örnek : sorted (“mustafa”)

[‘a’, ‘a’, ‘f’, ‘m’, ‘s’, ‘t’, ‘u’] şeklinde bir çıktı verdi bizlere program.

Diğer bir yöntem ; print (*sorted(“mustafa”), sep = “ ”) veya

For i in sorted (“mustafa”) :

Print (i , end=” ”) şeklinde kullanılabilir.

Not : Bu fonksiyondaki en büyük eksiklik Türkçe karakterleri düzgün sıralamadığıdır.

Bu sorun çözümü adına ise ;

>>>import locale

>>>locale.setlocale(locale.LC_ALL, “Turkish_Turkey.1254”) #Windows için

>>>sorted (“çicek”, key=locale.strxfrm) şeklinde işlemlere devam edilir.

Burada locale adlı bir modülden yararlandık.SetLocale ile aslında dil ayarlarını düzgün şekilde yapabilme imkanına kavuşmuş olduk.

Yeniden düzenleyelim = >>>sorted (“çiçek” , key=locale.strxfrm)

Not : I ve İ harflerini sıralama esnasında , ı harfinin i harfinden önce geldiğini göreceksiniz.

Ne yapabiliriz sorusunun cevabı ise ;

>>>harfler = “adlasdalşsdadaıidasd”

>>>çevrim = {i : harfler.index(i) for i in harfler}

>>>sorted (“dasdadaiidasd” , key=çevrim.get)

Buradaki mantık ise ; her harfin bir sayı karşılığı vardır ve pythona sayı karşılıklarına göre sırala dedik aslında.

Karakter Dizileri üzerinde değişiklik yapmak ;

Burada karakter dizilerine ekleme,  çıkarma , dilimleme vb. yapabileceğimizi görmüştük fakat bunlar kalıcı olmayan değişikliklerdir.Bu sebeple de bir çalıştırmanın ardından silineceklerdir.

İki tip veri tipi bulunmaktadır Python’da : Değiştirilebilir ve değiştirilemez.

Python’da bir karakter dizisini bir kez tanımladıktan sonra bu karakter dizisi üzerinde artık değişiklik yapılamaz.

Önemli Birkaç Fonksiyon :

Dir () : Bir nesnenin özellikleri hakkında bilgi edinme fırsatı verir.

Mesela dir(str) yazarsanız , karakter dizilerinin hangi methodları bize sunduğunu burada bize gösterecektir.Diğerleri içinde geçerlidir.Dir(int) , dir (float) vb.

Enumerate () : Programda numaralandırmaya ilişkin işlemler için kullanılır.

For i in enumerate (“mustafa”):

Print (i) diyecek olursak ; çıktısı ->

(0, ‘m’)

(1, ‘u’)

(2, ‘s’)

(3, ‘t’)

(4, ‘a’)

(5, ‘f’)

(6, ‘a’) şeklinde olacaktır.

Sıralamaya nerden başlayacağını belirlemek içinse  ;

for sıra , harf in enumerate (“mustafa”,1):

print (sıra , harf) denilerek istediğiniz sonucu elde edebilirsiniz.

Help () : Program içerisinde yardıma ihtiyacınız olduğu zamanlarda

Örnek help> dir yazdığınızda dir ile ilgili tüm bilgileri bize gösterecektir.Bu ve benzeri kullanımlarla takıldığınız yerde help fonksiyonundan yararlanabilirsiniz.Ya da help ()  parantez içerisine yazarak aradığınız sonuca ulaşabilirsiniz.

Methodları incelemeye başlayalım :

Replace() Methodu :

Değiştirmek , yerine koymak anlamına gelir replace.

Formül :  karakter_dizisi.metot(parametre)

Metotlar ise karakter dizilerinden nokta ile ayırılır ve bu yönteme pythonda noktalı gösterim denir.

Replace methodu iki parametre alır.

Karakter_dizisi.replace (eski_karakter_dizisi , yeni_karakter_dizisi)

İlk parametre değiştirilecek olan , ikincisi ise ilkinin yerine geçecek olan parametredir.

Karakter dizisi içerisinde bir harfi silmek istediğimizde de ;

Örnek :

>>>a = “mustafa”

>>>a.replace (“u” , “ ” , 1) denilerek çıktı : mstafa şeklinde olacaktır.

Split () , rsplit() , splitlines() Methodları :

Split karakter dizilerini bölmek için kullanılır.

Rsplit methodu hemen hemen split() methodu ile aynıdır ve çok kullanılmamaktadır.

Splitlines() methodu ise ; bir karakter dizisini satır satır ayırmak için kullanılır.

Lower () Methodu :

Bütün harfleri küçük harfe çevirir , hepsi küçük harf ise herhangi bir şey yapmaz bu komut.

Upper () Methodu :

Bu methodda tüm küçük harfleri büyük harfe çevirir.

İslower() ve İsupper() Methodları :

Sorgulama methodlarıdır.Lower() küçük harfe çeviriyordu ve islower ise dizinin küçük harften oluşup oluşmadığını kontrol ediyor.

Tamamen küçükse True , değilse false çıktısını veriyor.

İsupperda aynı şekilde büyük harften oluşup oluşmadığını sorguluyor.

Endswith() Methodu :

Bu method ile karakter dizisinin hangi karakter dizisi ile bittiğini sorgulayabiliyoruz.

Endswith(“a”) denilerek karakter  dizisinin a ile bitip bitmediğini kontrol edebiliyoruz.

Startswith() Methodu :

Hangi karakter veya karakterlerle başladığını kontrol etmeye yarayan methoddur.

Capitalize () Methodu :

Değiştirici methodlardan birisidir.Karakter dizilerinin yalnızca ilk harfini büyütür.

Title() Methodu :

Aynı şekilde karakter dizilerinin ilk harfini büyütür ve bu yönüyle de capitalize methoduna benzer ancak tek fark ; her kelimenin ilk harfini büyütmesidir.

Swapcase () Methodu :

Büyük-Küçük harfle ilgili bir methodtur.Büyük harfler bu methodla küçüğe , küçük harflerde büyük harfe dönüşür.

Casefold () Methodu :

Lower() methoduna çok benzer ve hiçbir farkı yoktur.Bazı farklı diller için farklı sonuçlar üretir.

Strip() , Istrip() , rstrip() Methodları :

Strip methodu parametresiz olarak kullanıldığında , bir karakter dizisinin sağında ve solunda bulunan belli başlı karakterleri kırpar.

Eğer parantez içerisine bir parametre verirsekte , o harfi kırparak çıktı verir.

Istrip methodu ise , yine kırpma işlemi yapar ancak,

Kazak kelimesindeki k harfini kırpacağımızı düşünün.Burada sol taraftaki k harfini kırpma işlemini yapar sadece.

Sağ taraftaki  k harfini kesmek içinse ; rstrip() methodunu kullanmalısınız.

Join() methodu :

Not : Bir veri tipine ait metotlar doğal olarak yalnızca o veri tipi üzerinde kullanılabilir.Join methodu bölünmüş karakter dizilerini birleştirmek için kullanılır.

Count() Methodu :

Bu methodun görevi ise bir karakter dizisi içinde belli bir karakterin kaç kez geçtiğini sorgulamasıdır.

İndex() , rindex() Methodu :

Karakterlerin bir karakter dizisi içerisinde hangi sırada bulunduğunu öğrenmek için index() adlı bir methoddan yararlanırız.

Eğer index methoduna bir parametre daha eklersek yani ; index (“a “, 3) dersek , 3. Sıradan itibaren aramaya başlayacaktır.

Rindex() methodunda ise sağdan sola doğru arama işlemi yapılır.

Find() ve rfind() Methodları  :

Bu methodların görevide bir karakter dizisi içerisindeki karakterin konumunu sorgular.

Rfind ile sağdan sola doğru sorgular.

İndex() methodları karakter dizisi içindeki karakteri sorgularken , eğer o karakteri bulamazsa ValueError hatası verir.

Fakat find() ve rfind() metotları böyle bir durumda -1 çıktısı verir.

Center() Methodu :

Orta, merkez anlamlarına gelmektedir.Karakter dizilerini ortalamak için kullanılır.Yani ‘ ’ çift tırnak arasında genişliğe göre sağa ve sola doğru boşluklar bırakarak çıktı verir.

Mesela  ; a = “python” için ;

a.center(1) -> ‘python’  , a.center(10) -> ‘     python      ‘ şeklindedir.

Rjust() , Ijust() Methodları :

Diğer methodlar gibi karakter dizilerini hizalama vazifesi görür.Rjust() methodu bir karakter dizisini sağa yaslarken , Ijust methodu karakter dizisini sola yaslar.

Zfill() Methodu :

Bu method ile karakter dizilerinin sol tarafına istediğimiz sayıda sıfır ekleyebiliriz.

Partition() , Rpartition () Methodları :

Bir karakter dizisini belli bir ölçüte göre üçe bölüyoruz.Bu method parantez içinde verilen ölçüt karaktere göre bölme işlemi yapar.

Eğer verilen ölçüt karakter dizisi içerisinde yoksa  ;

Örnek :

>>>a = “istanbul”

>>>a.partition(“h”)

Çıktısı : (‘istanbul’ , ‘ ’, ‘ ’) şeklindedir.

Rpartition ise sağdan sola doğru okuma işlemi yapar.

Encode () methodu :

Bu method yardımı ile karakter dizilerini istediğimiz kodlama sistemine göre kodlayabiliriz.

Python 3.x’te varsayılan karakter kodlaması utf-8’dir.

Expandtabs() Methodu :

Bir karakter dizisi içerisindeki sekme boşluklarını genişletebilirsiniz bu şekilde.

Birer boşluk yerine expandtabs(5) diyerek 5 er boşluk bırakabilirsiniz.

Str.maketrans() , translate() methodları :

Kimi zaman Türkçe karakterleri kullanamayabiliyorsunuz ve elinizdeki metinleri Türkçe karakterlerden ayırmak istiyorsunuz.İşte tam olarak bu durumlarda str.maketrans() ve translate() methodlarından yararlanabilirsiniz.

İsalpha () methodu :

Bu method sayesinde bir karakter dizisinin ‘alfabetik’ olup olmadığını denetleme işlemi yapılır.İçerisinde (a,b,c ….) vb. varsa o dizi alfabetiktir ancak farklı bir karakter , rakam vs. varsa alfabetik değildir diyebiliriz.

Örnek : mustafa -> alfabetik // m7sta3£a -> alfabetik değil

İsdigit () methodu :

Bu şekilde bir karakter dizisinin sayısal olup olmadığını kontrol edebilirsiniz.

Örnek : 123456 -> sayısal // 12a75q5 -> sayısal değildir

İsalnum () methodu :

Bir karakter dizisinin ‘alfanümerik’ olup olmadığını kontrol eder.Sayı ve karakterlerden oluşan karakter dizilerine denir alfanümerik karakter dizisi ifadesi.

Örnek : 123absd4 gibi.

İsdecimal () methodu :

Bir karakter dizisinin ondalık sayı cinsinden olup olmadığını denetliyoruz burada.

Örnek : 123456 -> ondalık sayı // 1234.34 -> ondalık sayı değil

İsidentifier() Methodu :

Tanımlayıcı anlamına gelir.Python’da değişkenler , fonksiyon ve modül adlarına ‘tanımlayıcı’ denir.Burada da ifade edilen isidentifier() metodu, neyin tanımlayıcı olup neyin tanımlayıcı olamayacağını denetlememizi sağlar.

Mesela 1a değişken adı olamaz çünkü sayı ile başlar.”1a”.isidentifier() denilerek bunun değişken adı olup olamayacağını kontrol edebilirsiniz ve aldığınız çıktı -> false olacaktır.

İsnumeric() Methodu :

Bu method bir karakter dizisinin nümerik olup olmadığını denetler.Bu metot yardımıyla bir karakter dizisinin sayı değerli olup olmadığını kontrol edebilirsiniz.

Örnek : “12”.isnumeric() -> çıktısı : True

İsspace () Methodu :

Bir karakter dizisinin tamamen boşluklardan oluşup oluşmadığını denetleyebilirsiniz.Eğer karakter dizisi boşluklardan oluşuyorsa bu metot True çıktısını verecektir.Aksi durumda ise False çıktısını verecektir.

Örnek :

>>>a  = “      ”

>>>a.isspace()

Çıktısı : True

İsprintable () Metodu :

\n gibi karakterler çıktı sonucu ekranda görünmez ve bu gibi karakterlere basılmayan karakterler  (non-printing characters) denir.

‘b’ , ‘c’ , ‘z’ , ‘x’, ‘=’ , ‘?’ , ‘!’ ve benzeri karakterler basılabilen karakterler(printable characters) olarak adlandırılırlar.

İsprintable metoduda bir karakterin basılabilen olup olmadığının cevabını verir bizlere.

% İşareti ile Biçimlendirme (Eski Yöntem)

>>>print (“%s ve %s iyi bir ikilidir ! ” %(“python”,”django”))

Pythonda %s yapısı karakter dizisi içerisinde bir yer tutma vazifesi görür.

% -> sabit ve s ise değişkendir.S ise string yani karakter dizisinin kısaltmasıdır.

D harfi ise sayıları temsil eder.(%d)

İ harfi ise tamsayıları ifade eder.D harfinden kullanım ve işlev olarak  farkı yoktur.

O harfi ise octal(sekizlik) kelimesinin kısaltması olup 8’li düzendeki sayıları temsil eder.

X harfi ise hexadecimal yani onaltılı düzeni  ifade eder.x harfi küçük kullanıldığında sayılar küçük harfle gösterilecektir.X büyük olarak kullanıldığında ise sayılar büyük harfle gösterilecektir.

F harfi ise karakter dizilerini biçimlendirirken s harfinden sonra en çok kullanılan harftir.Float yani kayan noktalı sayı kelimesinin kısaltmasıdır.

>>>print(“dolar %f TL olmuş…” %1.4710) ve çıktı hep 6 adet sıfıra sahip olacaktır.

Çıktısı -> 1.471000 tl olmuş vb. eğer %.2f dersek 2 haneli olarak çıktıyı alabiliriz.

C harfi yine pythonda önemli bir karakter dizisi biçimlendiricisidir.Bu harf tek bir karakteri temsil eder.

>>>print(“%c” , %”a”) gibi.eğer a yerine daha uzun bir dizi kullanırsanız hata alırsınız.C harfi sadece tek bir karakteri kabul etmektedir.

Format() metodu ile biçimlendirme (Yeni yöntem)

% işaretini kullanarak işlem yapmak biraz eski bir metot olarak kalmıştır.Eski yöntemdeki % yerine yeni methotda {} işaretini kullanıyoruz.

Basit bir örnek :

İsim=input (“isminiz : ”)

Print(“merhaba {}. Nasılsın?”.format(isim))

Format methodunda 3 farklı işaretten yararlanırız ;

  1. > : sağa yaslama
  2. < : sola yaslama
  3. ^ : ortalama

Format methodunu şu harflerle kullanabiliriz ;

S  harfi karakter dizilerini temsil eder.

>>>print (“{:s}”.format(“karakter dizisi”))

C harfi ile 0 ila 256 arası sayıların ASCII tablosundaki karşılıklarını temsil eder.

Print(“{:c}”.format(65)) -> çıktı : A

D harfi sayıları temsil etmek için kullanılır.

O harfi sayıları 8’li düzene çevirmek için kullanılır.

x harfi sayıların 16’lı düzende ki karşılıklarını verir.

Küçük x harfleri küçük yazdırır (8,9,a,b,c,d…) , büyük X harfleri büyük yazdırır.(8,9,A,B,C,D..)

B harfi onlu düzendeki sayıları ikili düzendeki karşılıklarına çevirir.

F harfi virgülden sonraki basamakları sınırlandırmak için kullanılır.

, (virgül) ile : (iki nokta üst üste) işaretini kullanarak , sayıları basamaklarına ayırabilirsiniz.

Listeler ve Demetler

Listeler :

Pythondaki veri tiplerinden biridir.Liste tanımlamak için örnek ;

>>>liste = [“öge1”.”öge2”.“öge3“] gibi.

Farklı öğeleri bir araya getirip bunları köşeli parantezler içine alırsak , liste adlı bir veri tipi oluşturmuş oluyoruz.

Boş bir liste ise -> liste = []

Listelerin öğesine ise liste tanımlandıktan sonra değişken_adı [ buraya kaçıncı elemana erişmek istiyorsanız] yazarak erişebilirsiniz.Örnek derstagram[5] gibi.

Listeler ise değiştirilebilen veri tipleridir.Doğrudan üzerinde değişiklik yapılabilir.

Listelere yeni öğeler eklenebilir.’+’ işaretini kullanarak yeni bir eleman diziye eklenebilir.

İki listeyi birbirine bağlayabilir , birleştirebilirsiniz.

Listeden öğe silmek için ‘del’ adlı ifadeden yararlanılır.

Listeleri tamamen silmekte mümkündür ve del ifadesinden yararlanılır.

Listeleri kopyalamak mümkündür.liste1 adlı listenizi liste2=liste1 diyerek liste2’ye kopyalayabilirsiniz.

Liste Üreteçleri (List Comprehensions)

Örnek :

>>>liste = [i for i in range(1000)] diyerek 1 den 1000’e kadar olan sayıları bir liste içerisinde oluşturduk.

Demetler

Listelere çok benzeyen bir veri tipidir.Ayırt edici özellikleri normal parantez işaretleridir.

Örnek : demet = (“a”,”b”,23,35) şeklinde tanımlanırlar.

Diğer bir tanımlama yolu da ; demet = “a” , “b” , 23 , 35 -> () parantezler kullanılmadan da olur.

Demetlerin öğelerine de aynı şekilde demet[0] gibi ulaşılabilir.

Listelerden farkı ise ; listeler değiştirilebilirdir fakat demetler değiştirilemez.

Demetlerin kullanım alanı ise ;

Özellikle programların ayar dosyalarında bu veri tipi sıklıkla kullanılır.

Listelerin Methodları :

Append() Methodu ;

Append kelimesi İngilizcede ‘eklemek,ilave etmek,iliştirmek’ gibi anlamlara gelir.liste.append(“a”) denildiğinde liste adlı listeye a öğesini ekler.

Yine öğe ekleme işlemini + işareti ile de yapabiliriz.

Append() metodu biraz daha pratiktir.

Fakat append() methodunda birden fazla eleman eklenemez.Append(“a”,”b”,”c”..) eklenmeye çalışıldığında hata alınır.

Extend() Methodu

Genişletmek , yaymak anlamlarına gelir bu method.Listeler bu şekilde geliştirilebilir.

Append methodunda tek bir öğe eklerken bu methodla ilgili liste içerisindeki kodların tamamı diğer listeye eklenebilir.

İnsert() Methodu

İnsert kelime anlamı olarakta “yerleştirmek , sokmak”tır.Listelerin istenilen yerlerine bir öğe eklemek için kullanılır.

İlk parametresi yerleştirilecek öğenin nereye yerleştirileceği , ikincisi ise yerleştirilecek öğenin ne olduğunu gösterir.

Bir dosya içerisinde herhangi bir satıra birtakım bilgiler eklemek çıkarmak isteyebilirsiniz.Bu durumlarda kullanabileceğiniz etkin bir methotdur.

Remove() Methodu :

Liste içerisinden öğe silme işlemlerinde kullanılır.

Reverse() Methodu  :

Liste öğelerini ters çevirmek adına dilimleme methodunu kullanabileceğimizi öğrenmiştik.Ek olarak isterseniz bu iş için reversed() methodunu da kullanabilirsiniz.

Bu komutu bir liste üzerinde kullandığınız da “list_reverseiterator” adlı bir nesne elde edersiniz.Bu nesnenin içeriğini görmek içinse ;

>>>print(*reversed(meyveler)) işlemleri gerçekleştirilir.

Pop() Methodu :

Bu metot da bir liste içerisinden öğe silmemizi sağlar.

Farkı ise ; pop() methodunu kullanarak bir öğe sildiğinizde , silinen öğe ekrana basılacaktır.Ek olarak parametresiz olarak kullanırsanız , kullandığınız listenin son öğesini listeden atar.

Sort() Metodu :

Bu metot bir listenin öğelerini belli bir ölçüte göre sıraya dizmemizi sağlar.

Elimizde bir sınıf listesi var diyelim.Alfabe sırasına dizmek için sort() methodunu kullanabilirsiniz.Ya da sayıları sıralamak içinde kullanılabilir.

Tersten sıralama yapmak içinse ; sort(reverse=True) yani sort parametresi içerisinde reverse kullanmalısınız.

İndex () Metodu :

Veri tipi ve karakter dizilerinin de index() metodu olarak aynı işi yapan bir yöntemdir ve liste içerisindeki öğenin bize konumunu söyler.

Count() Metodu :

Ortak metodlardan birisidir.Karakter dizilerindeki gibi , listelerin count() metodu da bir öğenin o veri tipi içerisinde kaç kez geçtiğini söyler bizlere.

Copy() Metodu :

Listeleri kopyalama işlemleri için kullanılır.Örnek kullanımı ise ;

>>>liste2=liste1.copy()

Clear() Metodu :

Listelerle alakalı bir metotdur.Görevi ise listenin içeriğini silmektir.

Clear() metodu ile listenin içi silinebilir.

>>>liste.clear()

>>>liste

Çıktısı : []

Demetlerin Metotları

Listeler ve demetler birbirine benzer.En önemli fark ise daha öncede ifade ettiğimiz gibi listeler değiştirilebilir veri tipi iken , metotlar değiştirilemezlerdir.

Demetlerin metotlarını görmek için ;

>>>dir(tuple)

İndex() ve count() metotları

İndex() metodu Demet öğesinin demet içerisindeki konumunu bize bildirir.

Count() methodu ise demet öğesinin o demet içerisinde kaç defa geçtiğini bize söyler.

PYTHON DERSLERİ -4 SONUÇ  :

Bugünki yazımızda Python Dersleri -4 adlı yazımızı sizlerle paylaştık.İlgili yazıların Mindbookları en kısa sürede tarafınıza sunulacaktır.En kısa süre içerisinde de python derslerine dair ilgili paylaşımlarımıza devam edeceğiz.

İyi Çalışmalar.

 

 

Python Dersleri -3 || Python Öğren Serisi

Python Dersleri -3

Python nedir ? Python nasıl kullanılır ? Pythonda işlemler nedir ? Pythonda aritmetik işlemler , hata yakalama nedir ? Bu ve benzeri sorulara cevap aradığımız bu yazımızda incelemelerimize devam ediyoruz.

Pyton Derslerine Devam

Sys.stdout’u Kalıcı Olarak Değiştirme :

>>>import sys (Bu kod ile sys adlı özel bir modülü programa dahil ettik)

Import etmek derken ?

>>>import. os

>>>os.getcwd () (os adlı bir modül içerisinde getcwd kullanılarak hangi dizinde bulunduğumuzu öğrendik)

Diğer bir örnek ;

>>>import keyword

>>>keyword.kwlist (burada da keyword adlı diğer bir modül içerisinde kwlist adlı değişkeni kullanarak hangi kelimelerin kullanıp kullanılmayacağını öğrenmiştik)

Şu anda ek olarak ‘sys’ adlı bir modülden sizlere söz ediyoruz.

>>>import sys

>>>sys.stdout (buradan değişken değerine ulaşabiliriz)

Çıktısı ise -> <_io.TextIOWrapper name=’<stdout>’ mode=’w’ encoding = ‘cp1254’> şeklinde olacaktır.

Program çıkmak için : >>>import sys; sys.exit() kullanılabilir.

Pekala exit()’da sys modülü içerisinde bulunur.

Sys modülü içerisindeki değişkenlere bir örnek stdout ; fonksiyona örnek ise -> exit()’dır.

Kaçış Dizileri :

Python’da özel anlam taşıyan işaret veya karakterleri, sahip oldukları bu özel anlam dışında bir amaçla kullanmamızı sağlayan birtakım araçlardır.

Ters Taksim (\)

>>>print(‘İstanbul\’un 5 günlük hava durumu tahmini’)

’\’ bu tarz işaretlere Python’da kaçış dizisi denir.Karakter dizisi tanımlanırken bu işaretler oluşabilecek hatalardan kaçınmayı sağlar.

‘\’ python bu işareti gördüğünde okumaya devam eder yani burayı atlar.Buradaki tek tırnak hata vermesine sebep olacakken hatayı önlemiş olur.

Satır Başı (\n)

Satır başı karakteri ya da yeni satır karakteri.

>>>print(“birinci satır\nikinci satır\nüçüncü satır”)

Çıktı :

Birinci satır

İkinci satır

Üçüncü satır

‘\n’ bir kaçış dizisi olup yeni bir satıra geçmeyi sağlar.

Sekme (\t)

>>>print(“abc\tdef”)

Çıktı : abc  def

Tab tuşu gibi bir işlem görür ve sonraki ifadeyi sağa doğru iter.

Zil Sesi (\a)

!bip! sesi benzeri bir zil sesi üretilmesini sağlayabilir.

>>>print(“\a”)

Çıktı :  !bip!

Aynı Satır Başı (\r)

Bir karakter dizisinde aynı satırın en başına dönülmesini sağlar.

>>>print(“Merhaba\rZalimDünya!”)

Çıktı : Zalim Dünya

\r’ın bulunduğu konumdan itibaren sağında kalanlar en baştan itibaren yazdırılır.

Düşey Sekme (\v)

Eğer \v kullanırsak düşey sekme elde edilir.

>>>print(“düşey\vsekme”)

Çıktı :

Düşey

Sekme

İmleç Kaydırma (\b)

İmleci o anki konumundan sola kaydırır.Peki nasıl ?

>>>print(“yahoo.com\b”)

Çıktı : yahoo.co

Burada bir sola kaydırıldığı için ‘m’ harfi silinmiştir.

Küçük Unicode (\u)

Unicode ; karakterlerin , harflerin , sayıların ve bilgisayar ekranında gördüğümüz öteki bütün işaretlerin her biri için tek ve benzersiz bir numaranın tanımlandığı bir sistemdir.

Kod konumu denilen özel bir gösterim şekli vardır.

Örnek olarak ;

‘a’ harfi sistemde şu kod konumu ile görünür ; u+0061

Python programlama dilinde ise bu durum ; \\u0131 şeklindedir.

Python her bir kod konumunu gösterebilmek adına \u şeklinde bir kaçış dizisi tanımlar.

Eğer \u kaçış dizisinin ardından doğru bir kod konumu belirtmezsek , Python bize hata verecektir.

Büyük Unicode (\U)

\u gibi \U da aynı şekilde Unicode kod konumları için kullanılır.Ancak biraz daha uzundur.

\u için ‘ı’ : ‘\u0131’dir. \U için ‘ı’ : ‘\U00000131’dir.

Uzun Ad (\N)

Unicode ile ilgilidir.Unicode sisteminde her karakterin tek ve benzersiz bir kod konumu ve tek,benzersiz bir de uzun adı vardır.

‘a’ harfinin UNICODE sistemindeki uzun adı şudur ;

  • LATIN SMALL LETTER A

Bir karakterin Unicode sistemindeki uzun adını öğrenmek için unicodedata adlı bir modülden faydalanılabilir.

>>>import unicodedata

>>>unicodedata.name(‘a’)

Onaltılık Karakter (\x)

Bir kaçış dizisi meydana getirir.

Bunu kullanarak onaltılı (hexadecimal) sayma sistemindeki bir sayının karakter karşılığını gösterebiliriz.

>>>”\x41”   çıktısı : ‘A’

Bu işlem aslında ASCII tablosunu kullanır.Mesela ‘4E’ sayısı ‘N’ harfine denk gelir.

Etkisizleştirme(r)

Bir kaçış dizesidir.Karakter dizisinin başına getirdiğimizde r kaçış dizisi , karakter dizisi içerisinde geçen kaçış dizelerinin işlevlerini yerine getirmesine engel olarak , istediğimiz çıktıyı elde etmemizi sağlıyor.

>>>print(r”Kaçış dizileri: \, \n , \t , \a , \\ , r”)

‘\r’ kaçış dizisi ile karıştırmayınız.

Sayfa Başı (\f)

Eski tip yazıcılarda bir sayfanın sona erip yeni bir sayfanın başladığını göstermektir.

Örnek bir program :

Aylık yol masrafını hesaplayan bir program ;

Masraf = gün sayısı x (gidiş ücreti + dönüş ücreti)

gün=22

gidiş_ücreti=1.5

dönüş_ücreti=1.4

masraf=gün * (gidiş_ücreti+dönüş_ücreti)

print(“-” * 30)

print(“çalışılan gün sayısı\t:” , gün)

print (“işe gidiş ücreti\t:”,gidiş_ücreti)

print(“işten dönüş ücreti\t:”,dönüş_ücreti)

print(“-”*30)

print (“AYLIK YOL MASRAFI\t:”,masraf)

Pythonda Yorum İşareti :

‘#’ işareti yorum işaretidir.Eğer bir yere yorum bırakmak isterseniz , o ifadelerin başına ‘#’ işaretini koymalısınız.

Kullanıcıdan Bilgi Almak :

Input () Fonksiyonu :

Type(),len(),print() gibi bir fonksiyondur.

Örnek:

>>>isim=  input (“isminiz nedir”)

>>>print(“Merhaba”,isim, end=”\n”)

Örnek :

Çap = input(“dairenin çapı:   ”)

Yarıçap = int (çap) /2

Pi = 3.14159

Alan = pi * (yarıçap * yarıçap)

Print(“Çapı” , çap , “cm olan dairenin alanı: ”  ,alan , “cm2’dir”)

Tip Dönüşümleri

Kullanıcının girdiği verinin sayı , karakter vb. değişmesi durumunda hata almamak için ;

>>>sayı = input (“herhangi bir veri girin : ”)

>>>tip = type (sayı)

>>>print(“Girdiğiniz verinin tipi : ”, tip)

Şeklinde veriyi bir değişkene atayarak , ardından da bunu yazdırabiliriz bu şekilde.

Karakter dizileri ile aritmetik işlemler yapılamaz veya tam tersi durumda da.

İnt ()

İnput() fonksiyonundan gelen veri her zaman bir karakter dizisidir.Aritmetik işlem yapabilme için bu veriyi dönüştürmemiz gerekmektedir.

Bunun için kullanılması gereken dönüştürücü int()’dir.

Örnek :

>>>karakter_dizisi=”23”

>>>sayı = int (karakter_dizisi)

>>>print(sayı)

Çıktı : 23

Fakat 23 yerine armut yazsa idiniz program hata verecekti.İnt ifadeye çevireceğiniz herşey sayı değerli olmalıdır.

Str ()

Karakter dizisi olmayan verileri karakter dizisine dönüştürmek amaçlı kullanılır.

Float ()

Noktalı sayılar için kullanılır.Bir tamsayıyı ya da sayı değerli bir karakter dizisini kayan noktalı sayıya dönüştürmek isterseniz , float() kullanmalısınız.

Complex ()

Karmaşık sayıları ifade eder aslında.15+0j gibi.Eğer bir ifadeyi karmaşık bir sayıya çevirmek istersek , complex fonksiyonundan faydalanmalıyız.

NOT : Bir ifadenin türünü bilmiyor ve öğrenmek istiyorsak ; type() fonksiyonunu kullanmalıyız.

Eval() ve exec() Fonksiyonları

Eval() : Çok güçlü bir fonksiyondur ve dehşet güçleri vardır.

Örnek :

>>>print(“ bla bla ”)

>>>veri= input(“işleminiz : ”)

>>>hesap=eval(veri)

>>>print(hesap)

Eval -> evaluate (değerlendirmeye tabi tutmak , işleme sokmak) kelimesinden gelir.

Eval() fonksiyonu ile kullanıcının girdiği verileri değerlendirmeye sokuyor ve komutları işleme sokuyoruz.

Mesela 10 ile 26 sayısını çarpıyor olalım.Eval fonksiyonu olmazsa , alacağı cevap dümdüz bir 10*26 çıktısı olacaktır.Eval fonksiyonu ise her bir Python komutunu algılar ve veriyi işleme sokar.Ekrana doğrudan yazdırmak yerine de işlem sonucu olan 260 sayısını bize verir.

Şimdi buradaki tehlikeli durum ise şudur ;

>>>open(“deneme.txt” , “w”) ile kendi bilgisayarınızda bir dosya oluşturulur.Ve bu şekilde aslında program kontrolden çıkmış olur.Çünkü , siz bir hesap makinası yazmıştınız ama bir başkası geldi ve

>>>__import__(“os”).system(“dir”) diyerek mevcut dizindeki tüm dosyalarınıza erişebilir.

Bu şekilde tüm verilerinizi kaybedebilirsiniz.Bu sebeple eval fonksiyonunun dehşet hatta şeytani bir tarafı bulunmaktadır.

Burada diğer bir örnek ;

SQL Injection kavramı : SQL injection tarzı saldırılar ile hacker ya da crackerlar web sitesini programlayan kişinin kullanıcıya verdiği rastgele SQL komutu işleme yetkisini kullanarak gizli ve özel bilgilerini ele geçiriyorlar.

Eval() fonksiyonuda aynı şekilde kullanıcılara rasgele kullanma yetkisi verdiği için kötü niyetli kişilerin programınıza sızma ihtimalini doğurur.

Engellemek adına ise ;

Veri -> KONTROL -> Eval() -> Çıktı şeklinde bir kontrol mekanizması oluşturmalısınız.

Bu komuta benzer diğer bir komutta exec() komutudur.

Eval ile şu işlemi yapamazsınız : >>>eval (“a=45”)

Exec ile yapabilirsiniz ama : >>>exec(“a=45”) // print (a) -> çıktı : 45

Exec ile yaptığımız işleri eval ile de yapabiliriz ama exec fonksiyonunda da güvenlik açıkları mevcuttur.

Bu sebeple bu komutlara çok dikkat edilmelidir.

Format() Methodu

Googleda bir site bulunamadı hatası illaki almışsınızdır.

Buradaki kullanım mantığı ise ;

>>>url = input(“Lütfen bir site adresi gir : ”)

>>>print(“Hata!  Google chrome” , url , “sitesini bulamadı”)

Format aracının kullanım mantığı :

>>>url = input (“Lütfen bir site adresi gir :”)

>>>print(“Hata! Google chrome {} sitesini bulamadı”.format(url))

Format() methodu nasıl çalışır?

>>>print(“{} ve {} iyi bir ikilidir.”format(“Python”,”Django”))

Çıktı : Python ve Django iyi bir ikilidir.

Yada şu şekilde kullanılabilirdi  ;

>>>metin = “{} ve {} iyi bir ikilidir”

>>>metin.format(“A”,”B”)

Burada da format() methoduna parametre vermeden önce bir değişkene atama işlemi yapılır.

Koşul Deyimleri

İf Deyimi :

If , Elif , Else :

İşaretler ->

  • > : Büyüktür
  • < : Küçüktür
  • >= : Büyük eşittir
  • <= : Küçük eşittir
  • == : eşittir
  • != : eşit değildir

If : Eğer anlamına gelir.Eğer büyükse , küçükse , eşitse gibi kullanılır

>>> if n> 20 :

>>>       print(“sayı 20’den büyüktür”)

Girinti koymak başa , python dilinde çok büyük önem taşır.Genel olarak 4 boşlukluk bir girintileme işlemi uygun olmaktadır.

Örnek :

>>>sayı = int(input(“Bir sayı gir : ”))

>>>if sayı > 10:

Print (“Girilen sayı 10’dan büyüktür!”)

>>>if sayı < 10:

Print(“Girdiginiz sayı 10’dan küçüktür!”)

>>>if sayı ==10 :

Print(“Girilen sayı 10’dur”)

Elif :

If ile arasındaki fark aslında çok büyüktür.

Mesela ‘-’ değerlikli bir sayıyı girdiğimizi düşünelim.

İf yapısında birden fazla sıfırdan küçüktür işleminde hepsi birden çalışacakken (if yas<18 ve if yas<100 gibi) elif yapısında sadece doğru olan ilk sonucu verip diğerlerini çalıştırmayacaktır.

Fakat ilk olarak ‘elif’ asla kullanılmaz.Bu sebeple ilk olarak ‘if’ kullanmak önemlidir.Her zaman if ile başlamalısınız.

Else :

Diyoruz ki burada ;

Falanca ise çıktıyı ver değilse (else) şu çıktıyı ver.

Eğer else öncesinde doğru bir ifade varsa else çalışmadan o komut çalışır ve çıktıyı verir.

İŞLEÇLER

Operatörler yani işleçler , sağında ve solunda bulunan değerler arasında bir ilişki kuran işaretlere  denir.

Altı başlık altında incelenebilirler ;

Aritmetik işleçleri :

toplama (+) , çıkarma(-) , çarpma (*) , bölme(/) , kuvvet(**), modülüs(%)|mod alma gibi davranır|, taban bölme(//)|kesirli bölmez , taban bölme işlemi yapar|

Round ise ; yuvarlama işlemi yapar.

>>>round(2.55) -> çıktı :3

>>>round(2.55 , 1) : çıktı : 2.5 (burada 1 sayısı virgülden sonraki hassasiyeti belirler.)

Pow() ise (**) gibi kuvvet alma işaretidir.

Örnek : >>>pow(25 , 2)  -> Çıktısı : 625

Pow üç parametre alabilir.>>>pow(25,2,5) -> çıktısı : 0

Anlamı ise >>>(25 ** 2) %5’tir.

Karşılaştırma işleçleri :

== (eşittir) , != (eşit değildir) , > (büyüktür) , < (küçüktür) , >= (büyük eşittir) , <= (küçük eşittir)

Bool işleçleri ( 1 ve 0 yani True ya da False’tır)

Ek olarak ; 0 değeri ve boş veri tipleri False’tur.Bunlar dışında kalan herşey True’dur.

>>>bool(3) : True //bool(“  ”) : True //bool(“adasda”) : True //bool(0) : false

Not : 0’ın bir sayı , “0”ın ise bir karakter dizisi olduğunu unutmayınız.Sayı olan 0’ın bool değeri False’tur.Karakter dizisi olan “0”ın değeri True’dur.

Bool işleçleri ise ; and , or ve not

And (Ve) : Örnek : if kullanıcı_adı == “derstagram” and parola = “123456”

Or (Veya) : True olması için önermelerden en az birinin doğru olması gerekmektedir.

Not (Değil) : Burada true olan ifadeyi false veya tam tersi durumlarını gerçekleştirebiliriz.

Örnek :

>>>a = “ ”

>>>not  a

Çıktı : True (Normalde False’tur)

Değer atama işleçleri

+= İşleci :

A = 23 iken 28 yapmak için a= a+5 işlemi kullanılır ancak a += 5 denilerek daha hızlı toplama işlemi yapılır.

-= İşleci

A -=5 işlemi ile de A içerisindeki değerden 5 çıkarılır.

/= İşleci

A /= 3 ile a içerisindeki değeri 3 e böler.A/3 ile aynıdır.

*= İşleci

A *=2 A içerisindeki değeri 2 ile çarpar.

%= İşleci

A %=3 a içerisindeki değerden bölme işleminden kalan sayıyı aynı değişkene atar.

**= İşleci

A **= 2 ile a içerisindeki değerin kuvvetini hesaplar.

//= İşleci

A //= 2 ile a içerisindeki değerin taban bölme işlemini yapar.

Aitlik işleçleri

Bu işlecin adı ‘in’ işlecidir.

>>> a = “abcd”

>>>”a” in a

Çıktısı : True

Burada in ilgeci veri tipi içerisinde kod içerisinde verilen ifadenin olup olmadığını kontrol ediyor.Varsa true yoksa false döndürüyor.

Kimlik işleçleri

Python’da herşeyin kimliği vardır.Bu sebeple bize id() diye bir fonksiyon sunulur.(identity kısaltması)

>>>a = 100

>>>id(a)

Çıktısı : 137990748’dir. Bu ifade a içerisindeki 100 sayısının kimlik numarasını gösterir.

Her nesne eşsiz ve benzersizdir.

Burada ‘is’ adlı kimlik işlecini kullanabiliriz ;

>>> a is 1000     False

>>>b is 1000      False

Görünüşte aynı olan iki nesne aslında birbirinin aynısı olmayabiliyor.

İs işleci ile == aynı işleve sahip değildirler.

>>> a is 1000    false

>>> a == 1000 True

Buradaki kritik konu ;

Python dili -5 ile 257 arası sayıları ufak , diğerlerini ise büyük olarak kabul ediyor ve bu aralık dışındaki sayılar için her defasında ayrı bir nesne oluşturuyor.

Pythonda Sürümler:

Eğer programın sürümünü öğrenmek ve sürüme göre çalıştırmak istiyorsanız ;

>>>import sys

>>>_2x_metni = u“ ” ” Python 2.x sürümlerinden birini kullanıyorsunuz.Programı çalıştırabilmek için sistemimizde Python’ın 3.x sürümlerinden birisi kurulu olmalı”””

>>>_3x_metni =”Programa hoşgeldiniz” (Pythonda değişken sayı ile başlamaz)

>>>if sys.versiyon_info.major < 3 :

>>> Print (_2x_metni)

>>>else:

>>>print(_3x_Metni)

_2x_metni için u ekleyerek bu karakter dizisini Unicode olarak tanımladık.Çünkü python 2.x ASCII , Python 3.x’in ise UTF-8’dir.

Not : Eğer Windows kullanıyorsanız ve hala Türkçe karakterleri düzgün görüntüleyemiyorsanız ;

MS-Dos komut satırının başlık çubuğuna sağ tıklayıp özellikler diyerek yazı tipini ‘Lucida Console’ olarak değiştirmelisiniz.

Ardındanda vermeniz gereken komut : >>>chcp 1254’tür.

Python sürümü için pratik yol : version_info  komutudur.

Yukarda ise minör ve major parametrelerini kullanmış olduk.

Döngüler (Loops) :

Bir sürecin tekrar tekrar devam etmesi için kullanılması için kullanılır.Programları döngü içerisine nasıl sokarız ?

While ve For bunun içindir.

While : Türkçede iken , olduğu sürece anlamlarına gelir.

Örnek :

>>>a= 1

>>>while a ==1:

>>>      print(“all right”)

Burada programı sonsuz bir döngüye sokmuş olduk (infinite loop).Ve program sınırsız bir şekilde ekrana all right yazacaktır hiç durmadan.

Fakat şunu yazsaydık

>>>while a <10 : deseydik yine sonsuz bir döngüye girmiş olacaktı ama neden ?

Çünkü a değeri hep 1 olduğu için hiçbir zaman 10 değerine ulaşamayacaktır.

Ancak biz a += 1 der isek o zaman sorunu çözmüş oluyor muyuz  ? Evet.

>>>A = 1

>>>while a < 10 :

>>> a +=1

>>>print (“all right”)

Not: break kelimesi (kırmak , koparmak , bozmak ) anlamlarına gelir ve döngüyü kırar geldiğinde.

Örnek :

>>> if soru == “q”:

>>>print (“çıkılıyor …. ”)

>>>break

For Döngüsü :

For döngüsü çok yaygın bir döngüdür.Tıpkı while gibi bir döngüdür.

Yapısı :

For değişken_adı in değişken :

Yapılacak_işlem

Örnek :

>>>tr_harfler = “adasgsfafa”

>>>for harf in tr_harfler:

>>>print(harf)

Not : Karakter dizileri üzerinden döngü kurulabilir ancak sayılar üzerinde kurulamaz (sayılar = 12345678 -> for sayı in sayılar ) gibi.Hata verir program.

Döngülerle İlgili Araçlar :

Range Fonksiyonu : Aralık anlamındadır.Belli bir aralıktaki bulunan sayıları göstermek için kullanılırlar.

>>>for i in range (0 , 10):

>>>print (i)

Ek olarak range (0 , 10 , 3 ) gibi bir ifade de son rakam kaçar kaçar rakamların ilerleyeceğini bizlere gösterir.

Peki sayıları tersten almak isteseydik ? O zaman yapmamız gereken küçük hamleye beraber bakalım ;

>>> for i in range (10 , 0 , -1) : Sayıları tersten alacağımız için ilk parametre 10 oldu ,son parametrede -1.3 er 3 er alsın isteseydik , o zaman -3 yazmamız gerekirdi.

Pass Deyimi : Pass kelimesi , pas geçmek , geçmek anlamlarında kullanılır.Pythonda da görmezden gel , es geç anlamlarında kullanılır.

Örnek olarak :

İf …. :

Böyle yap

Elif ….. :

Şöyle yap

Else :

Pass (en son else gelirse hiçbirşey yapmadan pas geçerek program ilerlemeye devam edecektir.)

Break Deyimi :

Özel bir deyim olup , devam eden bir süreci kesintiye uğratabilirsiniz.

Break genelde programın sonlarında kullanılıyor olup programdan çıkmak adına kullanılır.

Görevide aynı şekilde döngüyü sonlandırmaktır ve her break bir döngü içerisinde olmalıdır.

Eğer değilse ; Python bize şu şekilde bir çıktı verecektir ;

SyntaxError : ‘break’ outside loop (Sözdizimihatası : ‘’break’’ döngü dışında…)

Continue Deyimi :

Eğer şart gerçekleşirse kendisinden sonra gelen herşeyi atlayıp döngünün başa dönmesini sağlar.

 

Örnek :

>>>if len(s) <=3:

>>>continue (Burada continue kullanımına dikkat ediniz.)

>>>print(“ …”)

>>>if s == “iptal” :

>>>break

Hata Yakalama :

Bir hesaplama işlemi yapan program yazdığınızda vb. kullanıcı sayı girdiği takdirde program çalışacaktır.Fakat kullanıcı bunun yerine başka bir veri girecek olursa , ya da içerisinde bir harf barındıran bir veri girecek olursa ne olur ?

Python bize hata gösterecektir.

Programlar illaki hata vereceklerdir fakat kullanıcıya hatanın neden olduğunu göstermek önemli olandır.

Hata Türleri

Programcı Hataları (Error) : Doğrudan programı yazan kişilerin hatasıdır.

Program Kusurları (Bug) : Özellikle matematiksel işlemlerde bug oluşur.Program düzgün çalışıyor gibidir ancak gizliden bir bug barındırıyor olabilir.

İstisnalar (Exception) : Bölme işlemi yapıyor olduğunuz bir programda kullanıcı veri tipi olarak harf girerse ve bu veri tipini int() türüne dönüştürme işlemine girerse burada bir hata meydana gelecektir.Ya da bir sayıyı 0’a ay da harfe bölmeye çalışacaktır ve program bize hata verecektir.

Try… Except…

Pythonda hata yakalama işlemleri için try.. except.. bloklarından yararlanılır.

Örnek:

>>>ilk_sayı = input (“ilk sayı :  ”)

>>>ikinci_sayı = input (“ikinci sayı : ”)

>>>try:

>>>sayı1= int(ilk_sayı)

>>>sayı2=int(ikinci_sayı)

>>>print(sayı1, “/”,sayı2 , “=” , sayı1/sayı2)

>>>except ValueError :

>>>print(“Lütfen sadece sayı giriniz : ”)

Mantık ;

Try :

Hata verebileceğini bildiğimiz kodlar

Except HataAdı :

Hata durumunda yapılacak işlem

Try .. Except .. As

Pythonda ortaya çıkan hata ve türü :

ValueError -> invalid literal for int() with base 10 : ‘f’ şeklindedir.

Burada ValueError hata türü adı , invalid … ‘f’ ise hata açıklaması kısmıdır.

Örnek :

Try :

………..

Except ValueError as hata :

Print (hata)

Burada Except falancaHata as Filanca yapısı kullanılarak falancaHata’yı filanca olarak isimlendiriyor ve daha sonra bu isi dilediğiniz gibi kullanabilirsiniz.

Try .. Except .. Else..

Yapı Örneği :

Try :

……..

Except ValueError :

Print (…..)

Else :

Try:

Print(….)

Except ZeroDivisionError :

Print(..)

Not : Buradaki kullanımın mantığı da try.. except.. bloğu içerisinde oluşacak sıkışıklık giderilmiş oluyor.Bu yapı mantığı güzel görünsede sürekli ya da bol bol kullanım sonucu programın dağılmasına ve kodlar üzerinde denetiminizi kaybetmenize sebep olabilir.

Try … Except… Finally….

Try :

…bir takım bilgiler

Except birHata :

….hata alınınca yapılacak işlemler

Finally :

…. Hata olsa da olmasa da yapılması gerekenler..

Not : En önemli özellik , hata gerçekleşsede gerçekleşmesede işletilecektir.Bu sebeple program içerisinde eğer mutlaka işletilmesi gereken bir kısım varsa  o kısmı finally … bloğu içerisinde yazabilirsiniz.

Örnek :

Try:

Dosya = open (“dosyaadı” , “r”)

….burada dosyayla bazı işlemler yapıyoruz…

…ve birden hata oluştu varsayalım..

Except IOError :

Print (“hata olustu”)

Finally :

Dosya.close

Finally içerisinde yazıldığından hata durumunda dosya güvenle kapatılacaktır.

Raise

Bazı durumlarda kullanıcının yaptığı bir işlem normal şartlar altında hata vermeyecek olsa bile biz ona ‘Python Tarzı’ bir hata mesajı göstermek istenilebilir.

Pythonın bize sunduğu deyimde : Raise’dir.

Bölünen = int (input(“bölünecek sayı : ”))

İf bölünen ==23 :

raise Exception (“Tekrar 23 sayısı girmeyin !!”)

bölen int(input(“bölen sayı: ”))

print (bölünen / bölen)

Not : Exception yerine her istenen ifade yazılamaz.Kullanılabilir örnek ifadeler , NameError , TypeError , ZeroDivisionError , IOError vb.

Bütün Hataları Yakalamak

Olası bütün hataları yakalamak adına da ;

Try:

…..birtakım işler….

Except:

…..hata mesajı…..

Python Dersleri -3 Sonuç :

Bugünki yazımızda Python Dersleri -3 adlı yazımızı sizlerle paylaştık.Bu yazımızla aslında pythona dair incelemelerimizi sürdürüyoruz.Birçok farklı alanda pythona dair bilgi bulabilirsiniz.Bizimkiside faydalı olması amacıyla bilgilerin incelenmesi üzerinedir.

İyi çalışmalar.

Python Dersleri -2 || Python Öğren Serisi

PYTHON DERSLERİ 2

Değişkenler nedir ? Python’da bir sayının üssü nasıl alınır ? Print fonksiyonu ve parametreleri nedir ? Bu ve benzeri sorulara cevap aradığımız bu yazımızda python derslerinin 2. Bölümünüde sizlere vermiş oluyoruz.

PYTHON ÖĞREN SERİSİ

 

Değişkenler :

Bu konuyu örnek verecek anlatırsak , yazmış olduğunuz bir program için kullanıcı adı ve şifre isteniliyor olduğunu varsayalım.Ve bu karakterler içinde bir sınır koyduğunuzu düşünelim.

Daha önce üzerinde konuşmuş olduğumuz type () fonksiyonu gibi , diğer bir fonksiyon olan len() fonksiyonunu konuşacağız.

Len () fonksiyonunun görevi karakter dizilerinin uzunluğunu ölçmektir.

Len () fonksiyonu sayıların uzunluğunu ölçmek için kullanılamaz.

Ör : >>>len(“Mustafa_Aydın”) -> çıktısı ‘13’ olacaktır.

Burada len() fonksiyonunun çıktısı aslında int olmaktadır.Test etmek adına ;

>>>type (len(“Mustafa_Aydın”)) -> çıktısı <class ‘int’> olacaktır.

Burada dikkat edilmesi gereken konu her bir karakter dizisi için len() fonksiyonunu kullanmak durumundayız.Pekala değişkenler adı verilen sınıfı kullanarak bir değişkene atama işlemi yapsaydık , işlerimiz çok daha pratik ve hızlı olurdu.

Örnek : >>>n = 7   programında ‘7’ sayısını ‘n’ değişkenine atamış olduk.

Dikkat edilmesi gereken konu ‘=’ eşittir işaretinin atama işareti olduğudur.

Örnek : >>>n yazıp enter’a bastığınızda çıktı olarak -> 7

>>>n * 10  yazıp entere bastığınızda ise çıktı olarak ->70 rakamını alırsınız.Burada artık n değişken olarak içerisinde 7 rakamını barındırmaktadır.

Örnek: >>>pi = 3.14

>>>pi + n işleminin çıktısı ise -> 10.14 olacaktır.

Hemen hemen her kelimeyi değişken olarak kullanabilirsiniz.Kuralları ise ;

Değişken adları sayı ile başlayamaz.

Değişken adları aritmetik işleçlerle başlayamaz.

Değişken adları ya bir alfabe harfiyle ya da ’_’ işaretiyle başlamalıdır.

Türkçe karakterler kullanılabilir ancak yine de hata vermesine karşın Türkçe karakterleri kontrol etmelisiniz.

Değişken adı olarak kullanamayacağınız ve Python’da özel anlam ifade eden kelimeler :

‘’False , true , and , as ,assert , break , class , continue , def , del , elif , else , except, finally , for , from , global , if , import , in , is , lambda , nonlocal , not , or , pass , raise , return , try , while , with , yield ‘’

Bu listeye ulaşmak için ise ;

>>>import keyword

>>>keyword.kwlist    komutlarını kullanarak ulaşabilirsiniz.

Peki burada kaç kelime vardır sizce ?

Hemen öğrenelim :   >>>len (keyword.kwlist)  ->> çıktısı : 33

Mesela şimdide bunları bir değişkene atayalım.

>>>yasak_kelimeler = keyword.kwlist

>>>len (yasak_kelimeler)   -> çıktısı : 33

Değişken adlarını belirlerken  değişken adlarını oluşturan kelimeler arasında boşluk olamaz.

Değişken adını belirlerken ilgili adı betimleyen isimlerin açık ve net olmasına özen gösterilmelidir.

Değişken adı ne çok kısa , ne de çok uzun olmalıdır.

Python’da bir sayının üssünü almak :

Bir sayıyı kendisiyle 10 yada 20 defa çarpmak durumunda kalıp uzun uzun yazmaktansa üssünü almak mantıklı olacaktır , değil mi ?

Bunun içinde yöntem : ** işlecidir.Mesela 10 sayısının karesini almak için ;

>>>10 ** 2 ->> çıktısı 100 olacaktır.

Pekala bu işlecin bir fonksiyonu var mıdır ? Evet , vardır.Pow() fonksiyonu tam olarak bunun için vardır.

Örnek :

>>>pow(10,2)  çıktısı -> 100 olacaktır

>>>pow(3,3) çıktısı -> 27 olacaktır.

Pow komutuna 3. bir karakter eklenirse ne olur ?

Örnek :

>>>pow(16,2,2) çıktısı -> 0

Burada 16’nın karesini alır ve çıkan sayıyı 3. Eleman olan 2’ey böl.Ardından bölme işleminin kalanını bize göster anlamına gelir.

Pythonda iki farklı değişkeni aynı değere atamak istersek ;

Örnek :

>>>a=b=4  ->     işleminde a ve b çıktıları artık 4 olarak işlem görecektir.

Değişkenlerin Değerini Takas Etmek nedir ?

Örnekle bu konuyu açıklamaya çalışalım.

>>>mustafa = ‘’öğretmen’’

>>mehmet = ‘’polis’’

>>>mustafa,mehmet = mehmet, mustafa

İşleminin ardından artık mustafa değişkeni polis, mehmet değişkeni ise  öğretmen olmuştur.

Etkileşimli Kabuğun Hafızası :

Etkileşimli kabul ya da Python IDLE Shell için hafıza konusunda işlemler ;

Örnek :

>>>3 + 3    çıktısı -> 6

>>> _   çıktısı -> 6 olacaktır.’_’ alt çizgi işareti girilen son öğenin yada yapılan son işlemi hafızada tutar.

Örnek :

>>>_ + 4     çıktısı -> 10 olacaktır.

Print Komutu :

Print() komutu aslında type(),len() gibi bir fonksiyondur.Ve ekrana parantezler içerisindeki ifadenin çıktısını verir.

Ekrana çıktı vermesi için parantezler içerisinde çift tırnak (“ ”) kullanmaktaydık.

Not : Aynı şekilde python programlama dilinde tek tırnak (‘ ’), çift tırnak (“ ”) ve üç tırnak (‘’’  ‘’’’) şeklinde de kullanabiliriz.

Ör : >>>print(‘ Derstagram ’)    çıktısı ->> Derstagram

Ör:

>>>sonuç = ‘Derstagram’

>>>>print(sonuc)     çıktısı ->> Derstagram

Burada dikkat edilmesi gereken konu ;

‘Derstagram’ın ’ şeklinde bir ifade de python bize hata verecektir.Çünkü hangi tırnakların nerde başlayıp nerde bittiğini bilemeyecektir.Bu sebeple tek , çift ve üç tırnak bulunmaktadır.

Üç tırnak ise genel olarak birden fazla satıra yayılan ifadeleri yazdırmak için kullanılır.

Üç tırnağa özgü bir durumdan bahsedelim :

>>>print(“”” Oyun bitti!

….          (Burada dikkat ediniz ! Çıktı olarak ….   İfadesi geldi.)Bunun anlamı python bize yazmaya devam etmemizi söylemektedir.

Devam edelim

>>>print(“”” Oyun bitti !

…..   Para atınız ! “””)

Çıktısı :

Oyun bitti!

Para atınız!

Bu durum sadece üç tırnağa özgü bir durumdur.

Print komutunu fonksiyon olarak kullanmak :

>>>Print (‘Fırat’,’Özgül’)

Çıktısı : Fırat Özgül

Fırat  burada 1. Karakter dizisi , Özgül ise 2. Karakter dizisidir.

Burada print fonksiyonu bu iki karakteri birleştirmiştir ancak dikkat edilmesi gereken konu aralarındaki virgül(,)dür.

Print() Fonksiyonu Parametreleri

Sep Parametresi :

Örnek :

>>>print(“http://”,”www.”,”derstagram.”,”com”)

Şimdi burada sep parametresini normalde görmüyoruz ancak python bu kodu gerçekte şu şekilde algılar ;

>>>print (“http://”,”www.”,”derstagram.”,”com”, sep=” ”) şeklinde algılar.

Sep ifadesi İngilizce Separator (ayırıcı,ayıraç) kelimesinin kısaltmasıdır ve yine aynı anlam için kullanılır.

Bu şekilde ekrana yazdırılacak ifadeler arasında boşluk bırakılarak yazdırılır.

Burada (sep “ ”) parametresi tırnakları arasına bir şey yazarsanız boşluk bırakılan her yere o ifadeleri yazacaktır.

Örnek :

>>>print(“bir”,”iki”,”üç”,sep=”mumdur”)

Çıktısı : birmumdurikimumdurüçmumdur

>>> print(“bir”,”iki”,”üç”,sep=” mumdur ”)

Çıktısı : bir mumdur iki mumdur üç mumdur

>>> print(“bir”,”iki”,”üç”,sep=” ”+”mumdur”+” ”)

Çıktısı : bir mumdur iki mumdur üç mumdur

Not :

>>>print (1,2,3,4,5, sep=0)

Burada sistem bize hata verecektir ve hatanın en alt satırında ‘sep must be none or string,not int’ hatasını göreceksiniz.Burada sep parametresinin none ya da string olabileceğini ancak string olarak kullanılamayacağını bize söyler.

Örnek :

>>>print (‘a’, ‘b’, sep=None)

Çıktısı :a b

Burada none aslında bir boşluk gibi işlem görmektedir.

None Türkçe de ise hiç , yok anlamındadır.

End Parametresi:

Sep parametresi print() fonksiyonuna parametreleri birleştirirken hangi karakteri araya koymasını karar veriiyorken , end parametresi ise bu parametrelerin sonuna neyin geleceğini belirler.

Örnek :

>>>print (“Merhaba\nDünya”)

Çıktısı :

Merhaba

Dünya

Burada ‘\n’ bu özel karaktere satır başı karakteri(newline) adı verilir.Görevide örnekte göreceğiniz üzere bulunduğu noktadan sonra gelen işlemleri bir sonraki satıra atlatmasıdır.

Burada her alt satıra geçilmesi adına sürekli olarak ‘\n’ özel işaretini kullanmak yerine ,

Örnek :

>>>print (“A”,”B”,”C”, sep= “\n”) kullanarak

A

B

C çıktılarını alırız.

Burada sep parametresinin değerini yeni satır karakteri ile değiştirerek her karakter dizisinin arasında \n işaretinin koyulmasını sağladık.

Burada end parametresinin öntanımlı değeri olan \n karakterini ve print fonksiyonunda kullanımını gördük.

Örnek :

>>>print (“Merhaba Arkadaslar”)  işleminde herhangi bir end parametresi görünmemektedir.

Fakat aslında pythonun algılaması şu şekildedir.

>>>print(“Merhaba Arkadaslar”, end “\n”)

 

File Parametresi :

Diğer bir parametrenin adı ‘File’dır.Bu parametrenin görevi ise ; bu fonksiyona verilen karakter dizisi ve/veya sayıların , parametrelerin nerelere yazılacağını belirtmektir.

Şimdi bu parametrenin ön tanımlı değerine bir bakalım.Bu öntanımlı değer sys.stdout’tur.

Anlamına beraber bakalım ;

Anlamı ; standart çıktı komutudur.Bu parametre bir programın , çıktıları verdiği,yazdığı yerdir.

Print fonksiyonunun çıktılarını ekrana değilde , bir dosyaya yazdırmasını isteyelim beraber.

Örnek :

>>>dosya = open(“deneme.txt”,”w”)

>>>print (“Ben derstagram ! ”.file=dosya)

>>>dosya.close()

Burada bir çıktı alamayacaksınız çünkü print fonksiyonu çıktıları deneme.txt adlı dosyaya yazdırıldı.

Bu deneme dosyası bulunduğumuz dizinde oluşturulduğu için  ve bu dizinin hangisi olduğunu görmek için ;

>>>import os

>>>os.getcwd() komutlarını kullanmalısınız.

Buradan gelecek olan çıktıda gelecek olan dizin adı sizin dosyanızın bulunduğu dizinin adıdır.

Peki sep ve end parametreleri gibi file parametresi de her zaman var mıdır ? Evet, vardır .

>>>print(“Tahir olmak ayıp degil”,”Zühre olmakta”) komutu python şu şekilde algılar.

>>>print (“Tahir olmak ayıp değil”,”Zühre olmakta”,…sep=” ”,end=”\n”,file=sys.stdout) olarak algılar.

Yani parametrelerin arasına bir boşluk bırakır , ekrana yazdırma işlemi bittiğinde parametrelerin sonuna satır başı karakterini ekler ve çıktıyı standart çıktı konumuna gönderir.

Flush Parametresi  :

Örnek :

>>>f = open (“kişisel_bilgiler.txt”,”w”)

>>>print(“Fırat Özgül”,file=f)

>>>print(“Adana”,file=f)

>>>print(“Mehmet”,file=f)

>>>f.close()

Dosyayı f.close() komutu ile kapatmış olduk.Burada dikkat edilmesi gereken konu flush parametresinin kullanımı olacaktır.

Burada f.close() gelene kadar bilgileri aslında dosyaya yazmayarak tamponda bekletir python.

En son dosya kapatılınca flush parametresi buradaki bilgileri dosyaya boşaltmıştır.

Örnek :

>>>f = open (“Kisisel_bilgiler” , “w“)

>>>print(“Merhaba dünya”, file=f,flush=True)

Burada flush adlı bir parametre kullandık ve bu parametreye verdiğimiz değer ‘True’.

Burada ise dosyayı açtığımızda bilgileri karşımızda göreceğiz.

Çünkü flush parametresine ‘True’ değerini verdik.Flush parametresi true ve false olarak iki değer alabilir.

Ve bu değerlere istinaden sonuç belirlenir.

Eğer herhangi bir değeri Flush parametresine belirtmezsek , python bunu false olarak kabul edecektir.

Python Dersleri 2 Sonuç :

Bugünki yazımızda python dersleri 2 adlı yazımızı sizlerle paylaşmış bulunmaktayız.Bu yazımız serinin 2. Yazısı olup hızla diğer yazılarımızı da sizinle paylaşmak için çabalamaktayız.

Ayrıca python derslerini youtube kanalımız üzerinden de dinleyebilir ve öğrenebilirsiniz.

İyi Çalışmalar.

 

Python Dersleri || Python Öğren Serisi

PYTHON DERSLERİ

Python nedir ? Python nasıl çalışır ? Pythonu diğerlerinden ayıran özellikler nelerdir ? Pythonda string ve integer tanımları nedir ? Bu ve benzeri soruları cevaplamakla başlayacağımız Python derslerine öncelikle hoşgeldiniz.

Bu seride python’ı öğrenmeye çalışacak ve her yönüyle incelemeye çalışacağız.

PYTHON NEDİR ?

Python ; genel olarak C , C++ , Ruby ve benzeri diğer dillere benzeyen ve bilgisayarı kontrol etmemize yardımcı olan bir dildir.

Pythonu yazan ve dizayn eden kişi ise ; Guido Van Rossum adında bir Hollandalıdır.

Pythonun yazılmaya başlanması ise 90’lı yılların başına dayanır.

İsmini ise bir yılandan esinlenerek değil , İngiliz  komedi grubu olan The Monty Python adlı grubun Monty Python’s Flying Circus adlı hazırladıkları gösteriden almaktadır.

Pekala neden Python dediğinizi duyar gibiyiz.Universal olan programlama dillerinin çoğunda ki bunlara örnek olarak C , C++ örnek verilebilir , derleme işlemine ihtiyaç duyulur.Python ise bu derleme işlemine gerek duymadan çalıştırılabilir ve bu aslında en büyük farklardan birisidir.

Programlamayla uğraştıysanız diğer birçok dilde sayıları , stringleri ifade ederken birçok sembol ve detay kullanırsınız.Ancak Python dili basit ve daha temiz kod dizimi sayesinde günümüzde çokça tercih edilmektedir.

Python ayrıca dünya devi firmalar olan Google , Youtube , Yahoo! gibi  firmalar tarafından desteklenmektedir.Ayrıca bu şirketler Pythonı iyi derecede bilen programcılara iş imkanı sunmaktadır.Python’un baş geliştiricisi olan Guida Van Rossum’un dahi 2005 ve 2012 yılları içerisinde Google’da çalışmıştır ve ardından da Dropbox şirketine geçmiştir.

Python’ın çok farklı işletim sistemlerinde ve platformlar üzerinde çalıştığını ifade edebiliriz.Örnek olarak ; GNI/Linux , Windows , Mac OS X , AS/400, BeOS , MorphOS vb. hemen hemen her türlü sistem üzerinde çalışabilmektedir.

Python’ın şu an piyasa üzerinde 2 serisi bulunmaktadır.2.x ve 3.x.Bunlar aslında sürümlerdir.Programsal olarak piyasada şimdilerde daha çok 2.x sürümüne ait program örnekleri mevcut olsada son zamanlarda popülerite kazanmaya başlayan sürüm 3.x’tir.

3.x serisi daha güçlü olup , 2.x serisinde ki hatalardan da arındırılarak programlanmıştır.Pekala burda sürümü farklı olan bir program diğerinde çalışır mı diye soracak olursanız , cevabımız ‘Hayır’ olacaktır.2.x sürümünde ki bir program 3.x’te , 3.x sürümünde yazılan bir programda 2.x sürümünde çalışmayacaktır.

Not : Python GNU/Linux kurulu olan bilgisayarlarda kurulu olarak hazır gelmektedir ve ek olarak kurmanız gerekmez.

Windows kullanıcısı vb. iseniz python.org resmi sitesi üzerinden işletim sisteminize uygun olan programı indirip kurabilirsiniz.

Ek olarak farklı İDE’ler mevcut olup en popüler olanlardan birisi ; JetBrain tarafından oluşturulmuş olan PyCharm İDE’sidir.

Python’un sürümünü öğrenmek içinse ;  komut satırına -> “ python –V “ yazmalısınız.Burada 2.x ile başlıyorsa Python2’nin bilgisayarınızda kurulu olduğu anlamını çıkarabilirsiniz.

GNU/Linux kurulu bilgisayarlarda hem 2.x sürümü hemde 3.x sürümü kurulu olabilmektedir.Bu da dikkat edilmesi gereken bir diğer konudur.

Bilgisayarınızda birden fazla sürümün olup olmadığı bilgisine ise -> “ ls –g {,/usr{,/local}}/bin |grep python”  komutunu kullanabilirsiniz.

Windows kullanıcıları ise resmi site üzerinden 3.x ile başlayan sürümü indirerek ve exe dosyasını çalıştırarak Python’u bilgisayara kurabilirler.

Not : Eğer Python’u kurma işlemleri adına hata meydana geliyorsa , işletim sisteminizi güncellemeniz gerekecektir.Örnek olarak Windows7 işletim sistemine sahipseniz , Pythonu kurabilmek adına SP1(Service Pack 1)’in bilgisayarınızda kurulu olması gerekmektedir.

Windowsta aynı anda iki farklı sürüm çalıştırmak için ; diğer bir sürümü indirip bilgisayarınıza kurabilirsiniz.Burada python bizlere ‘py’ adlı özel bir program sunar ve bu program sadece windows’a özgüdür.

Komut satırına  ‘py’ yazarak ilerlediğimizde sisteme en son kurduğunuz Python sürümü çalışmaya başlayacaktır.Ancak burada py -2 yazarak 2.x sürümünü , 3.x yazarak 3.x sürümünü çalıştırabilirsiniz.

Eğer daha fazla program kurulu ise ; örnek olarak 2.6 , 2.7 vb. komut satırına ‘py -2.6’ çalıştırabilirsiniz.

Not : Windowsta ‘cmd’ olan komut satırı ya da Ubuntu’daki Ctrl+Alt+T ile ulaşılan komut satırları ile pythonın komut satırları aynı yerler değildir.Bu sebeple , burada cd , ls gibi komutların kullanımı mümkün değildir.

Teknik olarak bu komut penceresine ise ; etkileşimli kabuk olarak ifade edebileceğimiz interactive Shell adı verilir.

Python programlama dili ile etkileşim kurabileceğimiz bir üst katmandır aslında burası.

Program kurulduğunda ‘IDLE’ adıyla kurulan programda ‘>>’ işareti bizden komut almayı beklemektedir.

Bu işaretten hemen sonra hiç boşluk bırakmadan ‘’Merhaba Dünya’’ yazarsanız , çıktı olarak Merhaba Dünya sonucunu alacaksınız.

Burada ki ifade aslında bir karakter dizisidir.Bu karakter dizilerine ise ‘’String’’ adı verilmektedir.

Eğer bu ifadeyi tırnak içine almadan yazarsanız ‘invalid syntax’ hatası alırsınız.Python tırnak içerisinde gösterilen ifadeleri  String olarak kabul etmektedir.Örnek olarak “b” ifadesi bir karakter dizisi olarak kabul edilmektedir.” ” ifadesi ise içi boş bir karakter dizisini ifade etmektedir.

Not : Type ()  fonksiyonu ile de mevcut verinin tipini sorgulayabilirsiniz.Type’ın Türkçe karşılığıda ‘tip’ anlamına gelmektedir.

Örnek : type (“Elma”)  ->  çıktısı <class ‘str’> olacaktır ve biz buradan string olduğunu anlayabiliriz.

Örnek olarak komut penceresine >>>”derstagram” + “.com” yazarsanız çıktı olarak -> ‘derstagram.com’ ifadesini göreceksiniz.

Burada asıl önemli nokta ‘+’ sembolünü kullanarak karakter dizilerini nasıl birleştirdiğimiz konusudur.

Örnek : “Mustafa” + “AYDIN” olarak yazarsak çıktı olarak MustafaAYDIN ifadesini ; “Mustafa” + “ ” + “AYDIN” yazarsakta Mustafa AYDIN ifadesini göreceksiniz.Ek olarak “Mustafa” +” AYDIN” olarak yazarsak ve AYDIN kelimesinin başına tırnaklardan sonra bir boşluk bırakırsak çıktı yine Mustafa AYDIN şeklinde olacaktır.

Pekala dizileri birleştirmek için hep ‘+’ işaretini kullanmak zorundamıyız ?. Hayır.Python karakter dizelerini birleştirmek istediğimizi anlayacak bir yapıya sahiptir.

Örnek : >>>”www”  “.”  “derstagram”  “.”  “com” çıktısı -> www.derstagram.com şeklinde olacaktır.

Örnek : >>> “w” * 3 çıktısı -> www şeklinde olacaktır.

Örnek : >>>”merhaba” * 2  çıktısı -> ‘merhaba merhaba’ şeklinde olacaktır.

Pekala python’da sayılar nedir ve nasıl kullanılır ?

Number yani sayılarda bir diğer veri tipidir.

Örnek : >>>23 çıktısı -> 23

Örnek : >>>(10+2j) çıktısı -> (10+2j) şeklindedir.

Bu örnekler tamsayı türüne ait örneklerdir.

Ek olarak tamsayılar , noktalı sayılar gibi diğer sayı türleride bulunmaktadır.Örnek olarak , 2.3 bir ondalıklı sayı tipidir.

(10+2j) ise karmaşık sayı tipine ait bir veri tipidir.

Pythonda (+) toplama , (-) çıkarma , (*) çarpma , (/) bölme işlemleri için kullanılır.

Sayılarda “ ” tırnak işaretleri kullanılmaz ve karakter dizilerinden sayıların ayırt edildiği nokta burasıdır.

>>>32546 bir sayı iken , >>>”32546” ise bir karakter dizisidir.

Sayı tipleri ise ‘int’ ifadesi ile ifade edilirler.Tam olarak int ifadesi integer’dan gelmektedir ve dilimizde ki karşılığı ise ‘integer’dır.

Pekala bir int ile string toplanabilir mi ? Hayır.

Burada eğer bir sayı ile karakter dizisini toplamaya çalışırsanız , unsupported operand type(s) for +: ‘int’ and ‘str’ hatası alacaksınız.

Python Dersleri Sonuç :

Bu yazımızda python dersleri serisine başlamış bulunmaktayız.Python’a dair ilgili bilgileri ve detayları öğrenmeye başladığımız bu seride python programlama dilinin tamamını anlatmaya çalışacağız.İyi çalışmalar.