14 Aralık 2011 Çarşamba

Karakter Dizi Metodları -2

Ljust
Bu metod karakter dizisinin sağında boşluk bırakarak,karakter dizisinin sola yaslanmasını sağlar.

>>> "python".ljust(10)
'python '

ikinci bir örnek ise

>>> "python".ljust(10,"*")
'python****'

şeklinde ek ifadeler ekleyebiliriz

Rjust
Bu metod karakter dizisinin solunda boşluk bırakarak,karakter dizisinin sağa yaslanmasını sağlar.

>>> "python".rjust(10,"*")
'****python'

Zfill
Bu metod da önceki işlediğimiz 2 metoda benzer bir görevi vardır.Zfill() metodu ile sayıların
soluna istedeğimiz kadar 0 yerleştirebiliriz

>>> x=7
>>> x="7"
>>> x.zfill(2)
'07'

şeklinde 0 sayısını eklememizi sağlar.

Replace
Bu metod python metodları içinde en çok işimize yarayacak metod olacak.replace() metodu ile bir
karakter dizisi içindeki karakterleri,başka bir karakter ile değiştirebiliriz.

>>> cumle="python dilini öğreniyorum"
>>> cumle.replace("i","ı")
'python dılını öğrenıyorum'

Startswith
Bu metod ile karakter dizilerimizin belli bir harfle veya karakterle başlayıp başlamadığını
öğrenebiliriz.

>>> x="elma"
>>> x.startswith("e")
True
>>> a="python"
>>> a.startswith("a")
False

Endswith
Bu metod da bir önceki metodun tam tersi görevi yapmaktadır.Yani bir karakter dizisinin hangi
karakter yada harfle bittiğini bulmamızı sağlar.

>>> x="python"
>>> x.endswith("p")
False
>>> x.endswith("n")
True

Count
Bu metod ile karakter dizimizin içerisinde bir karakterden kaç tane olduğunu bulmamızı sağlar.

>>> x="film,dizi,sinema"
>>> x.count("i")
4

Isalpha
Bu metod ile karakter dizimizin alfabetik olup olmadığını kontrol edebiliriz.

>>> x="python"
>>> x.isalpha()
True
>>> x="number1"
>>> x.isalpha()
False

İsdigit
Bu metod da bir önceki metodun ters işlemini yani girilen karakter dizsinin sayısal olup olmadığını
öğrenmemizi sağlar.

>>> x="123asd456"
>>> x.isdigit()
False
>>> x="456123789"
>>> x.isdigit()
True

Isalnum
Bu metod bir karakter dizisinin alfanümerik olup olmadığı hakkında bize bilgi verir.

>>> x="123asd456"
>>> x.isalnum()
True
>>> x="123/"
>>> x.isalnum()
False

Islower ve Isupper
Islower karakter dizisinin tamamının küçük harflerden oluşup oluşmadığını denetlememizi sağlar.
Isupper ise karakter dizisinin tamamının büyük harferden oluşup oluşmadığını denetlememizi sağlar.

>>> sehir="Bartın"
>>> sehir.islower()
False
>>> sehir="bartın"
>>> sehir.islower()
True


>>> sehir="Bartın"
>>> sehir.isupper()
False
>>> sehir="BARTIN"
>>> sehir.isupper()
True

Istitle
Bu metod ile karakter dizimizin ilk harfinin büyük olup olmadığını öğrenebiliriz.

>>> bolum="yönetim bilişim sistemleri"
>>> bolum.istitle()
False
>>> bolum="Yönetim bilişim sistemleri"
>>> bolum.istitle()
False
>>> bolum="Yönetim Bilişim Sistemleri"
>>> bolum.istitle()
True

Isspace
Bu metod ile karakter dizimizin boşluktan oluşup oluşmadığını denetleyebiliriz.

>>> x=" "
>>> x.isspace()
True
>>> x="Python Programlama Dili"
>>> x.isspace()
False

10 Aralık 2011 Cumartesi

Karakter Dizi Metodları -1

Listeler konusunda bu konuya benzer bir konu işlemiştik.Ama artık pythonda ilerlediğimize göre
daha complex terimler göremenin vakti geldi.
Öcelikle göreceğimiz metodları ekrana yazdırmakla başlayalım

>>> dir("")
['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__',
'__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__',
'__init__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__',
'__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__',
'__sizeof__', '__str__', '__subclasshook__', '_formatter_field_name_split', '_formatter_parser',
'capitalize', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format',
'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric',
'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip',
'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit',
'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate',
'upper', 'zfill']

tabii bunların hepsini işlemeyceğiz.İşelemeyceklerimizi gruplandıracak olursak '__xxx__' şeklinde
önünde ve sonunda alt tire olanlardır.Çünkü bunlar özel metodlara girmektedir.Bunların farklı
kapsam alanları var.Bunların dışındaki metodları göreceğiz.

Capitalize
Bu metod ile cümlelerimizin,kelimelerimizin yada daha geniş kapsamıyla karakter dizilerinin ilk
harfini büyütmemize yardımcı oluyor.


>>> "python".capitalize()
'Python'


Upper
Bu metod ile küçük harflerden oluşan karakter dizisinin bütün harflerini büyültmemizi sağlıyor


>>> "python".upper()
'PYTHON'


Eğer bu metodda Türkçe karakter kullanırken hata alıyorsanız ayrıca birkaç işlem yapmamız gerekiyor.Örneğin

>>>"şennur".upper()
'\xc\x9fEKER'

gibi bir durum ile karşılaşıyorsanız

>>>import locale
>>>locale.setlocale(locale.LC_ALL,"")

şeklindek locale modülünü eklememiz gerekir.Ve sonra

>>>print u"şennur".upper()
'ŞENNUR'

burada kullandığımız u harfi unicode adlı bir veri tipini ifade ediyor.Şimdilik bunu dönüştürücü
şeklinde bilsek yeterli ileride göreceğiz zaten.

Lower
Bu metodda upper() metodunun tam tersini yani büyük harfi küçük harfe dönüştürüyor.

>>> "PYTHON".lower()
'python'


tıpkı upper metodunda da olduğu gibi Türkçe karakter sorunu için yine aynı işlemi yapmamız gerekecek.

Swapcase
Bu metod ise harfin o andaki durmunun tam ters haline dönüştürür.

>>> "PyThOn".swapcase()
'pYtHoN'

Title
capitalize() metodunun bütün kelimelerin baş harflerini büyük yapar.

>>> "python programlama öğreniyorum".title()
'Python Programlama Öğreniyorum'

Center
Karakter dizisinin sağında ve solunda programcının belirlediği sayı kadar boşluk bırakır.

>>> "python".center(12)
' python '

center() metodunun ikinci bir kullanımıda

>>> "python".center(12,"*")
'***python***'

şeklindede kullanabilmemizdir.

6 Aralık 2011 Salı

Python Hesap Makinesi

while True:
import math
try:
print("--------------------------------------------")
x=int(input("Toplama-->1\nÇıkarma-->2\nÇarpma-->3\nBölme-->4\n"
"Karakök-->5\nYüzde Alma-->6\nProgramdan Çıkma-->0\nTercihiniz:"))
print("--------------------------------------------")
if x==1:
sayı1=int(input("Birinci sayı "))
sayı2=int(input("İkinci sayı "))
toplam=sayı1+sayı2
print("Sonuc= ",toplam)
if x==2:
sayı1=int(input("Birinci sayı "))
sayı2=int(input("İkinci sayı "))
cikarma=sayı1-sayı2
print("Sonuc= ",cikarma)
if x==3:
sayı1=int(input("Birinci sayı "))
sayı2=int(input("İkinci sayı "))
carp=sayı1*sayı2
print("Sonuc= ",carp)
if x==4:
sayı1=int(input("Birinci sayı "))
sayı2=int(input("İkinci sayı "))
böl=sayı1/sayı2
print("Sonuc= ",böl)
if x==5:
sayı1=int(input("Sayıyı Giriniz "))
karakök=math.sqrt(sayı1)
print("Sonuc= ",karakök)
if x==6:
sayı1=int(input("Sayıyı Giriniz "))
sayı2=int(input("Yüzde kaç "))
yuzde=(sayı1*sayı2)/100
print("Sonuc= ",yuzde)
if x==0:
break
if x<0 or x>6:
continue
except ZeroDivisionError:
print("Lütfen paydayı 0'dan farklı bir sayı giriniz!")
except ValueError:
print("Lütfen sayısal ifadeler girin!")


4 Aralık 2011 Pazar

Hata Ayıklama(raise)

Pythonda yazdığımız bir programda normalde kullanıcınınyaptığı işlemlerde hata vermese bile biz
istersek kullanıcıya hata mesajı verebiliriz.
Mesala bir toplama işleminde 3 ile işlem yapmak istemiyorsanız,

sayi=int(input("Birinci sayı: "))
sayi1=int(input("İkinci sayı: "))
if (sayi or sayi1)==3:
raise Exception("Bu programda 3 sayısınız kullanamazsınız!!!")
else:
print(sayi+sayi1)





bu kodlamayı yapmalısınız.Bu ne işimize yarar sorusuna gelince o sizin hayal gücünüze bağlı :D

Şimdi raise ile hem mesaj verelim hemde pythonun hatasını yazdıralım:

try:
bölünen = int(input("bölünecek sayı: "))
bölen = int(input("bölen sayı: "))
print(bölünen/bölen)

except ZeroDivisionError:
print("bir sayıyı 0'a bölemezsiniz")
raise






bu kodumuzda önce sayıları karşılaştıracak,eğer bölen 0 değilse sonucu ekrana yazacak.Eğer bölen 0
ise önce "bir sayıyı 0'a bölemezsiniz" bizim mesajımızı ardından pythonun kendine özgü hata mesajını
ekrana verecektir.

3 Aralık 2011 Cumartesi

Hata Ayıklama(except...as...)

Python'da hata mesajları 2 bölümden oluşur
1)Hatanın adı
2)Hatanın mesajı

Örneğin

ValueError: invalid literal for int() with base 10: 'x'

Burada "ValueError" bilidğimiz gibi hatanın adıdır."invalid literal for int() with base 10: 'x'"
kısmı ise hata mesajıdır.İstersek bizbu mesajı değiştirip kullanıcının anlayacağı şekle dönüştürebiliriz.


while True:
try:
x=int(input("Bir sayı Giriniz: "))
if x%2==0:
print("Girilen sayı çift sayıdır.")
else:
print("Girilen sayı tek sayıdır.")
except ValueError as hata:
print("Karakter Hatası\nPython'un verdiği hata:",hata)






kodumuzu açıklayacak olursak:
Kullanıcıdan bir sayı alan program,bu sayının 2'ye tam bölünüp bölünmedğini kontrol ediyor.Buradan
sonuç 0 ise if'in içindeki print ifadesini yazdırıyor.Eğer sonuç 0'dan farklı ise else ifadesi içindeki
print ifadesi içeriğini yazdırıyor.Eğer kullanıcı a,b,e,? gibi karakterler girerse son iki satırda
ValueError ile yakaladığımız yazım hatasını mesajını devreye koyuyor ve böylelikle kullanıcıyı
yönlendirmiş oluyor.

Hata Ayıklama(continue-else...finaly)

continue ifadesi üzerinde fazla durmadan sadece 1 örnek vererek geçeceğim.

while True:
x=input("Bir sayı giriniz: ")
if x=="çıkış":
break
if len(x)<5:
continue
print("En fazla 5 heneli bir sayı girebilirsiniz...")






bu programda amaç kullanıcıdan en fazla 5 haneli bir sayı almak.5 haneyi geçecek bir sayı yazarsa
bunu "En fazla 5 heneli bir sayı girebilirsiniz..." şeklinde uyarmak.Eğer 5 haneden daha az girerse
continue ifadesi ile programın başına geri döenere bizden tekrar yeni bir sayı girmemizi isteyecek.


else...finally...


else...finally... ifade try... except... ifadesinin bir bakıma devemı niteliğindedir.
Mesala bir bölme işlemini yapan program yazdığımızı varsayalım.Kullanıcı bu programda sayıda
girebilir diğer karakterlerdende girebilir.Bunu önlemek için except ValueError: ifadesini
kullnıyorduk.Ama kullanıcı paydayı 0 girdi diyelim o zaman ne olacak.Hangi sayı 0'a bölünür Ki?
Tabiki burada python kendi çapındaki hata mesajını ekrana yansıtacak.İşte bunun gibi 1.hatadan
sonraki hataları yakalamak için else...finally... ifadesini kullanıyoruz.Şunu sorabilirsinizi:
"try...except... aynı işi yapmıyor mu?" Bu soruya yanıt evet olacaktır.Ama eğer kodlamamızda
hataları gruplamak istersek else...finally... tercih edebiliriz.else...finally bir özelliğide
...finally kodundan önce herhangi bir hata verse bile bu koddan sonraki işlemleri
hiç hata vermemiş gibi işletmesidir.Şimdi bu yazdıklarımızı örenkle açıklayalım.

Örneğimiz bölme işleminin yapan program kodlamasıdır


try:
bölünen = int(input("bölünecek sayı: "))
bölen = int(input("bölen sayı: "))

except ValueError:
print("Bir Hata Oluştu!")

else:
try:
bölme=bölünen/bölen

except ZeroDivisionError:
print("Bir sayıyı 0'a bölemezsiniz!")
finally:
print(bölme)

2 Aralık 2011 Cuma

Hata Ayıklama(pass)

pass ifadesi Türkçe anlamı geçmektir.Pythonda kullanım bakımından
bu anlama benzemektedir:Görmezden gelmek

Bir örnek açıklayalım
Programımız kalvyeden girilen 10'dan küçük 5 sayının kareleri toplamını bulan programı yazalım

sayac=1
toplam=0
while sayac<=5: sayac=sayac+1 x=int(input("1'den 10'a kadar bir sayı giriniz: ")) if x>10:
pass
else:
toplam=toplam+x*x
print("Girilen sayıların KARELERİ TOPLAMI: ",toplam)




şimdi kodumuzu açıklamaya başlayalım.pass ifadesine kadar olan kısım önceki konudaki programa
benziyor.Program bizden bir sayı alıyor sonra bu sayının 10'dan büyük mü olduğunu kontrol ediyor,
eğer büyükse pass ile hiçbir işlem yapmadan sizden tekrar bir sayı girmenizi istiyor,eğer girdiğiniz
sayı 10'dan küçükse pass ifadesini atlayarak else kısmındaki kodları çalıştırarak girilen
sayıların karelerinin toplamını alıp ekrana yazıyor.

1 Aralık 2011 Perşembe

Hata Ayıklama(break)

Python'da break özel bir deyimdir.Bu deyim ile devam etmekte olan bir programı kesintiye uğratabiliriz.
Daha öncede kullandğımız bu deyim programın belli bir yerinden sonra,programı sonlandırmamızı
sağlıyordu.
Şimdi ise bunu hata yakalamada kullanacağız.

Örneğin;

Klavyeden girilen 5 sayının 10'dan küçük sayıların toplamını bulan programı kodlayalım

sayac=1
toplam=0
while sayac<=5: sayac=sayac+1 try: sayi=int(input("sayı :")) if sayi<=10: print ("Girilen sayı-->",sayi)
toplam=toplam+sayi
print("Girilen sayılarn toplamı: ",toplam)
else:
print("Girilen sayı 10'dan büyüktür,lütfen 10'dan küçük sayı giriniz.")
continue
except ValueError:
break


Şimdi bu kodu açıklayalım.Kodda daha önceden görmediğimiz hiç yeni kod yok.
İlk öncelikle bir "sayac" şeklinde bir değişken belirledim.Bunun nedeni ise programın bizden 5 tane
sayı aldığında programdan çıkmamazı sağlayacak."continue" komutuyla her girdiğimiz sayıda başa dönmesini
sağladık.Buraya kadar her şey çok güzel.Kullanıcı olduda yanlışlıka "a" harfi yada "3e" gibi bir şey yazdı.
Bunun neticesinde hiçbir uyarı almadan programdan çıkacaktır ve programı yeniden başlatması gerekecektir.

14 Kasım 2011 Pazartesi

Dosya İşlemleri 4 (Dosyanın Farklı Yerlerine Veri Ekleme)

Dosyanın herhangi bir yerine satır ekleme

Şimdiye kadar ki örneklerde dosya sonuna ekleme yaptık.
Bu dersimizde satırın herhangi bir yerine eklme yapmayı göreceğiz.

İlk öncelikle bir kaynak dosyamız olacak.Örneğin dosyamızın içeriği

1.satır
2.satır
3.satır
4.satır

ismide "kaynak.txt" olsun.Öce bu dosyayı açalım.

>>>kaynakdosya=open("C:/Users/kullanıcı_adı/Desktop/kaynak.txt")

Bu dosyayı okuma kipinde açtıktan sonra bu dosyadan veriyi
okuyup başka bir hedef dosyaya bu okuduklarımızı yazmak.Şimdide hedef dosyayı oluşturalım.

>>>hedefdosya=open("C:/Users/kullanıcı_adı/Desktop/hedef.txt","w")

hedef dosyamızı oluşturduktan sonra gelelim şimdi kaynak dosyadan veri okumaya.

>>>verioku=kaynakdosya.readlines()

böylelikle kaynak dosya üzerinde okuma işlemini tanımlamı olduk.
Şimdi gelelim okuduğumuz dosyadan verileri hedefdosyamıza yazmaya.

>>> for satirlar in oku[:2]:
hedefdosya.write(satirlar)

Burada yaptığımız işlem ise verioku değişkeniyle okuduğumuz verilerden,hedef dosya üzerine
sadece 0. ve 1. satırları aldık.Niye 0. satır dediğimizi açıklamaya gerek var mı bilmiyorum ama
diziler 0. terimden başlıyorlardı.(hatırlatma olsun)
Şimdi de aldığımız bu 2 satırdan sonra ne yazdıracağımızı yazdıralım.

>>>hedefdosya.write("Python Öğreniyorum\n")

böylelikle yazdırmayı istediğimiz metni yazdırmış olduk.Şimdi kaynak dosyada kalan diğer verileri
hedefdosyaya yazdıralım

for satirlar in oku[2:]:
hedefdosya.write(satirlar)

ve kalan verileride yazdırdığımıza göre artık dosyaları kapatabiliriz.

>>>kaynakdosya.close()
>>>hedefdosya.close()


böylelikle dosya işlemlerini bitirmiş oluyoruz.İyi çalışmalar

27 Ekim 2011 Perşembe

Facebook'u hiç sevmeyen ve onu piyasadan silmeyi planlayan "sosyal devrim" sitesi, resmen açıldı.

Facebook karışıtı sosyal ağ "Unthink" açıldı.

Kendini "anti-Facebook" olarak tanıtan yeni sosyal ağ Unthink.com, dünyaya kapılarını açtı. DouglasBay Capital'den 2.5 milyon fon desteğini arkasına alan şirket, sosyal ağları kullanıcıların kendi verilerine sahip olduğu daha açık, daha "dürüst" hale getireceğine inanıyor.

Reklam kampanyalarında Facebook'u yerinden etme amacını ön planda tutan Unthink, yeni bir sosyal ağ değil, sosyal bir devrim olduğu mesajını iletiyor. Kontrol sahibinin ise Unthink değil siz olduğunuz vurgulanıyor. Şirket, bununla ilgili bir manifesto bile sunuyor. Unthink CEO'su Natasha Dedis, "özgür olmak istiyorsak, kendi iletişimimizi kontrol altında tutmalıyız... bu gücü geri almalıyız" diyor.

Dedis, Unthink fikrinin çocuğu Facebook'a kaydolmak istediğinde hizmet şartlarını okuduğunda söylüyor. Dedis, şartların herhangi bir zamanda değişebilmesi nedeniyle onları kabul etmek istememiş. Ancak çocuğunun Facebook'ta olması gerekiyormuş. Dedis, hangi kararı verirse versin, kötü bir anne olacağını farketmiş.

Unthink'te kullanıcı verileri markalara satılmıyor. Bunun yerine kullanıcı, sayfasına sponsor olacak markayı seçiyor. Herhangi bir marka seçmek istemeyen kullanıcılar, yılda 2 dolar ödeme seçeneğini tercih edebiliyor.
Unthink

24 Ekim 2011 Pazartesi

Van için Herkes Tek Yürek!

Van Depremi'ne duyarlılık gösteren ve zor durumda olan depremzedelere yardım elini uzatmak isteyen vatandaşlarımız için bir liste hazırladık. Aşağıdaki kanallardan dilediğinizi seçerek yardımlarınızı en kolay şekilde Van'a ulaştırabilirsiniz:

1. KIZILAY
2868'e tüm operatörlerden boş bir SMS göndererek Kızılay'a 5 TL bağışta bulunabilirsiniz.

Ayrıca havale yoluyla destek olmak isteyenler, tüm bankalardaki "Türk Kızılayı" hesaplarından bağış yapabilir. Ayni bağışlar Türk Kızılayı lojistik merkezleri ve şubeleri tarafından kabul edilecektir. Tüm Kızılay şubelerinin iletişim numaralarını buradan öğrenebilirsiniz.

2. AKUT
Tüm GSM operatörlerinden 2930'a göndereceğiniz AKUT yazan bir SMS ile AKUT'a 5 TL bağışta bulunabilirsiniz.

Kredi kartını kullanarak internet üzerinden bağış yapmak isteyen vatandaşlarımız CardFinans ya da diğer banka kartlarını kullanarak bağışta bulunabilirler.

Havale/EFT için Banka Hesap Numaraları;
T. İş Bankası - Gayrettepe Şubesi - TR14 0006 4000 0011 0800 6666 63
Finansbank - Gayrettepe Şubesi - TR92 0011 1000 0000 0001 9576 70
Garanti Bankası - Ortaklar Cad. Şubesi - TR26 0006 2000 3570 0000 0029 30

3. BAŞBAKANLIK YARDIM KAMPANYASI
Başbakanlık tarafından Van’da yaşanan deprem nedeniyle başlatılan yardım kampanyası çerçevesinde saptanan banka hesap numaralarına buradan ulaşabilirsiniz.

4. KARGO FİRMALARI
Yurtiçi Kargo, PTT Kargo, MNG Kargo ve Aras Kargo yardım gönderilerini ücretsiz olarak ihtiyaç sahiplerine ulaştırmaktadır.

5. HÜRRİYET EVLERİ
Deprem sonrası yaralarını sarmaya çalışan ve kış öncesinde evsiz kalan Van için Hürriyet Gazetesi de büyük bir seferberlik başlattı. Hürriyet, Van’da kış koşullarına dayanıklı, mutfak, banyo ve tuvaleti olan "Hürriyet Evleri" kuracak. Kızılay işbirliğinde başlatılan kampanya ile her biri 6 bin liraya kurulacak evler, evsiz kalan vatandaşlara sıcak bir yuva olacak.

Van Depremi - Hürriyet Gazetesi Bağış Hesapları
T. İş Bankası Mithatpaşa Şubesi
4228 - 0971947 / IBAN TR370006400000142280971947
T.C. Ziraat Bankası Kızılay Şubesi
Hesap No 685-2868-5189 / IBAN TR060001000685000028685189
Garanti Bankası Kızılay Şubesi
Hesap adı: Van Depremi - Hürriyet
Şube: 082 Hesap No: 6294703 / IBAN TR72 0006 2000 0820 0006 2947 03

Yapacağınız ufak bir yardım zor durumdaki bir çok insanı hayata bağlayan bir umut olacaktır. Mesajımızın ulaştığı herkesi, deprem bölgesinde yardıma ihtiyacı olan vatandaşlarımıza yardım etmeye davet ediyoruz.


Bir bumads sosyal sorumluluk içeriğidir.

23 Ekim 2011 Pazar

Dosya İşlemleri 3(Dosyaya Değişken Yazdırma ve Dosya Silme)

Python'da dosya işlemleri yaparken bilmemiz gerekenlerden biride;Python sadece karakter dizilerini dosyalara yazdırabilir.Yani sayılar yazdıramaz.Eğer bir sayı yazdırmak istiyorsak,onu ilk önce karakter dizisi olarak pythona tanıtır sonra dosyaya yazmasını söyleriz.Şöyle ki;

>>x=99
>>dosya=open("C:/Users/kullanıcı_adı/Desktop/deneme1.txt")
>>dosya.write(x)
komutlarını yazarsak bize

Traceback (most recent call last):
File "", line 1, in
dosya.write(x)
TypeError: write() argument 1 must be str, not int


diye bize hata verecektir.Bunun nedeni ise giriştede söylediğimiz gibi python sayıları yazdıramaz.Ama bu kodu şöyle düzeltirsek;
>>x=99
>>dosya=open("C:/Users/kullanıcı_adı/Desktop/deneme1.txt")
>>dosya.write(str(x))

şeklinde düzelttiğimizde dosyanın içine 99 yazıldığını göreceksiniz.
Burada str(x) girdiğimiz sayıyı,karakter dizisine çevirerek(string(str(x))) sayıyı dosyaya yazmamızı sağlıyor.

Dosya Silme
Oluşturduğumuz dosyaları silmek için ise, remove komutunu kullancağız.

>>import os
>>os.remove("dosyamızın_yolu")

21 Ekim 2011 Cuma

Sigorta İnternetten Yapılır!



Türkiye, sigorta karşılaştırma ve satın alımında çığır açacak yeni bir girişimle tanışıyor: Sigortadukkanim.com!

Türkiye’de mevcut sigortacılık anlayışı değişmeye başlıyor. Başta İngiltere olmak üzere dünyanın birçok ülkesinde birçok kişi, zorunlu ve gerekli tüm sigortalarını internetten, araştırıp seçerek satın alıyor.

Sigortadukkanim.com’u kuran ekip de bu modelin farkına varmış ve internetten sigorta satın almayı Türkiye’ye getirmeye karar vermiş. Bünyesinde kaskodan trafik sigortasına kadar birçok alternatif barındıran sitede, 20’ye yakın büyük sigorta firmaları arasından, kişiye en uygun olan sigorta poliçesi seçilebiliyor. Geriye de “en ucuz fiyatı” veren online teklifi kabul etmek kalıyor.

Bizi renkli dünyası ile tanıştıran Sigortadukkanim.com, hazırladığı filmle öncelikle otomobili olup sigorta yaptıracaklara daha sonra evlerini sigorta etmek isteyenlere sesleniyor.

Şu bir gerçek ki biz “Çoktan Seçmeli” olan her şeyi severiz. Ezberleyip yazılıya girmektense birçok cevabın arasından bize en uygununu seçmek her zaman daha çok işimize gelmiştir. Buradan yola çıkmış olacaklar ki; sloganlarını bu yönde seçmişler:

Daha detaylı bilgi almak isteyenler; www.sigortadukkanim.com adresini ziyaret edebilirler.


Bir bumads advertorial içeriğidir.

18 Ekim 2011 Salı

Dosya İşlemleri 3(Dosyadan Veri Okuma-2)

Önceki desimizde kullandığımız readlines() fonksiyonu, dosya içeriğini okurken (dikkat ettiniz mi bilemem) şu şekilde okuyordu:
Öreneğin;

Python
Dili
Öğreniyorum
dosya içeriğimiz olsun.
>>>dosya.readline()
komutunu verdiğimizde bize 1.satırı ekran çıktısı olarak verecektir.Bu komutu tekrar verdiğimizde 2.satırı verecektir.Bu işlemi tekrarlayarak dosya sonuna geldiğimizde artık gösterecek bir şey olmadığı için boş('') ekran çıktısı verecektir.Bunun nedeni ise python bu komut ile imleci -biz görmesekte imleci var- bir sonraki satırın başına getiriyor.
Bu durumdan sonra dosyayı tekrar okutmak için başa sarmak lazım.Bunun için komutumuz ise .seek()
>>>dosya.seek(0)
komutunu verdiğimizde python imleci dosyanın ilk satırına gelir.Hemen akabinde
>>>dosya.read()
komutunu verirsek dosyayı baştan okuduğunu görebilirsiniz.
Eğer imlecei farklı bir yere taşımak istersek -ki farklı olan her zaman ilgimizi çeker- .seek(0) komutu içindeki değeri değiştirmek olacaktır.
>>>dosya.seek(5)
komutu dosyamızın başltan ilk 5 karakterinden sonraki kısmı ekranımıza verecektir.

Örneğin
Python öğreniyorum
dosya içeriği olsun.
(tabi bundan önce dosya açma işlemlerini yapıyoruz)
>>>dosya.seek(5)
komutunu verip hemen arkasından
>>>dosya.read()
komutunu verdiğimizde ekrana
n öğreniyorum
çıktısını verecektir.

Ama bu işlemleri readline() komutuylada halledebiliriz.Şöyleki;
>>>dosya.radline(5)
komutunu verdiğimizde yine 5.karakterden sonrasını ekrana verecektir.

Peki imlecimizin o an nerede olduğunu nasıl bulacağız?
Cevap .tell() komutuyla
>>>dosya.tell() komutunu verdiğimizde imlecimizin nerede olduğunu bulabilirz.
Hatta bunu biraz daha geliştirerek .tell() komutundan önce .read() komutuyla dosyayı okuttuktan sonra .tell komutunu kullanırsak o dosyadaki karakter sayısını bulabilir.
Dosya içeriği
Python öğreniyorum
>>>dosya.read()
Python öğreniyorum
>>>dosya.tell()
18

şeklinde karakter sayısını verecektir.
Son bir dosya okuma işlemi de döngü kurarak dosya içeriğini okumaktır.
Dosya içeriği
1.satır
2.satır
3.satır
4.satır
5.satır
olsun.Döngümüzü kurarsak;
for x in dosya:
print(x)

komutuyla ekrana
1.satır
2.satır
3.satır
4.satır
5.satır
şeklinde çıktıyı verecektir.

15 Ekim 2011 Cumartesi

Efsane Oyun Uncharted 3 Ünlülerin Sesi ve 3D Desteği ile Satışa Çıkıyor! Üstelik Tamamen Türkçe!

Çıktığı günden bu yana satışı milyonları bulan ve geçtiğimiz ay yayınlanan beta sürümü ile meraklılarının yüzünü güldüren Uncharted 3: Drake’s Deception, multiplayer uyumlu ve Türkçe seslendirmeli olarak satışa çıkıyor.





Türkçe seslendirmeyi ise Türkiye televizyonlarının en ünlü isimleri üstlenmiş. Uncharted 3, bu yönü ile oyun zevkini ve eğlencesini bize daha yakın ve sıcak bir noktaya taşıyabilmiş. Bu ünlülerin kim olduklarına da kısaca göz atalım:

Ana karakter Nathan Drake’i, en son Muhteşem Yüzyıl’daki Pargalı Damat İbrahim Paşa rolü ile gönüllere taht kuran Okan Yalabık seslendiriyor. Drake’in en iyi dostu Victor Sullivon karakterini ise en son Behzat Ç. dizisindeki Şevket rolü ile ön plana çıkan Ege Aydan seslendiriyor. Serinin üçüncü oyununun esas kötü karakteri olan Katherine Marlowe’ye ise yılların tiyatro, sinema ve dizi oyuncusu Betül Arım sesiyle hayat veriyor. Oyundaki diğer karakterlere de yine ünlü dizi ve sinema oyuncuları ses veriyor. Chloe karakterini Dolunay Soysert, Elena’yı Ceyda Düvenci ve Cutter’ı da Hakan Vanlı seslendiriyor.

Oyunu satın almak için çıkmasını beklemeyen sıkı Uncharted hayranları da oyuna özel hediyeler kazanıyor! Ön sipariş verenlere Uncharted 3 ajandası, TeknoSA’dan ön sipariş edenlere ise Uncharted 3 PlayStation 3 kaplaması hediye ediliyor.

Özel Uncharted 3 hediyeleri kazanmak ve PlayStation ile ilgili en güncel haberler için https://www.facebook.com/PlaystationTr sayfasını takip edin!


Bir bumads advertorial içeriğidir.

11 Ekim 2011 Salı

Dosya İşlemleri 2(Dosyadan Veri Okuma)

Dosya işlemlerinin 3 dersi olan bu dersimizde bir dosyadan veri okumayı göreceğiz.
Bu derste shell(kabuk) adı verdiğimiz bölümü kullanacağız.

>>>new=open("C:/Users/kullanıcı_adı/Desktop/deneme1.txt","w")
>>>new.write("Deneme\niçeriği")
>>>new.close()
>>>new=open("C:/Users/kullanıcı_adı/Desktop/deneme1.txt")
>>>new.read()

Bu kodları yazdığımızda en sonunda "Deneme içeriği" yazısı çıkacaktır.
Zaten new.read() koduna kadar olan yerleri daha önce gördük. new.read() komutuda
dosyaya yazdırdığımız ekrana yazdırır.

read() kodunun değişik türevleri vardır:
1)readlines()
2)readline()

readlines()
Bu kod kullanıldığında çıktının liste olduğunu görürüz.(Bu liste ilk derslerdeki listedir.!!!)
Kullanımına gelecek olursak, yukarıdaki kod üzerinden göstereceğim

...
....
.....
>>>new.readlines()

şeklindedir.

readline()
Bu kod ise yukarıda kullandığım "\n" ifadesini gördüğü yere kadar okur.
Kullanımı ve ekran çıktısı:

>>>new=open("C:/Users/kullanıcı_adı/Desktop/deneme1.txt","w")
>>>new.write("Deneme\niçeriği")
>>>new.close()
>>>new=open("C:/Users/kullanıcı_adı/Desktop/deneme1.txt")
>>>new.readline()

ekran çıktısı ise

>>>deneme

şeklinde olacaktır.


Bu dersimiz bu kadar,iyi çalışmalar...

10 Ekim 2011 Pazartesi

Dosya İşlemleri 1(Dosyaya Veri İşleme)

Bu dersimizde önceki dersimizde oluşturduğumuz dosyamızın
içine veri girişi yapacağız.Hemen başlayalım :)

Python derleyicimizin bu sefer kod bölümünü değilde program oluşturma bölümünü kullanacağız.

Bir örnek ile başlayalım.

dosya=open("deneme1.txt","w")
dosya.write("Python Dosya İşlemleri")
dosya.close()

Şimdi yazdığımız açıklayalım;
1. satırın işlevini önceki dersimizde öğrenmiştik.
2.satırda ise dosyaya yazılacak cümleyi giriyoruz.Burada write komutundan da anlaşılacağı gibi
dosyaya yazma işlemi yapacak.
3.satırda ise ilk satırda açtığımız dosyayı kapatma işlemi yapıyoruz.Linux kullanıcılarının
bu komutu yazmasına gerek yok ama windowsta çalışanlar için eklemelerin dosyaya
işlenebilmesi için yazılması gerekli.

Bu dersimiz bu kadar biraz kısa oldu ama bir daha ki sefere telafi ederiz :)İYi Çalışmalar...

Dosya İşlemleri

NOT:Derste kullandığım  >>  işaretleri sizin ayrıca python derleyicide yazmanıza gerek yok.Ben sadece kod olduklarını belirtmek amacıyla yazıyorum.Python'un kendi düzenliyicisinde var zaten.
Bu derslerimizde python dilini kullanarak dosyalarımızı nasıl yöneticeğimizi öğreneceğiz.Lafı uzatmadan başlayalım.
İlk önce dosyalarımızın oluşturulacağı dizini bilmemiz gerekiyor.Hemen öğrenelim;
Python komut satırına
>>import os
>>os.getcwd()
kodunu yazıyoruz ve karşımaza bir dizin çıkacaktır.
Örneğin benim karşıma 'C:Python31' dizini çıktı.Yani python ile oluşturduğum dosyalar bu dizine kaydolunacak.
Not:Yukarıda kullandığımınz 'import os' komutunu içe aktarmamızın sebebi 'os.getcwd()' fonksiyonunu kullanmaktı.
Bu notuda verdikten sonra işlemlerimize geçelim.
Yeni Bir Dosya Oluşturma
>>open("oluşturulacak_klasör_ismi","kullanılacak method")
kodumuzun açıklaması yukarıdaki gibidir.Şimdi örnekle açıklayalım.
>>open("deneme1.txt","w")
şeklindeki kodumuz daha önce 'os.getcwd()' methodu ile bulduğumuz dizine oluşturulacaktır.(Bende C:Python31 dizininde mesela)
Şimdi verdiğimiz bu komutu biraz inceleyelim;
open() fonksiyonu zaten isminden belli dosyayaı açmamızı sağlıyor.
Peki "w" ne anlama geliyor?
Bir çok programlama dilinde bu kısaltmalar hemen hemen aynı görevlerde kullanılırlar.Bizim kullanacağımız kısaltmalar;
"w":Bir dosyaya yazma(write) yetkisi vermek için kullanılır.
"r":Bu kipte oluşturulan dosyada sadece okuma(read) işlemine izin verir.
"a":Bu kip ise oluşturulan dosyaya sonradan veri eklememizi(append) sağlar.

Şimdi bunları birer örnek kodlamayla örneklendirelim.
>>ilkdosyam=open("deneme2.txt","w")
DİKKAT!Burada eğer bilgisayarınızdaki dizinde 'deneme2.txt' adlı bir dosya varsa bunu siler yeni bir 'deneme2.txt' dosyası oluşturur.
>>ilkdosyam=open("deneme3.txt","r")
bu komut sadece bize dosyanın içindekileri okuma yetkisi verecektir.Burada dikkat edilmesi geren konu,eğer bilgisayarımızda 'deneme3.txt' dosyası yoksa yazdığımız bu kod yeni bir dosya oluşturmayacak ve dolayısıyla python komut ekrenında hata verecektir.
>>ilkdosyam=("deneme4.txt","a")
'a' kipi 'r' kipinin aksine bize yeni dosya yaratma imkanı da verir.
Değişik bir örnek:
dosya=open("C:/Users/kullanıcı_adı/Desktop/deneme.txt","w")
bu komut ise istediğimiz bir dizine dosya oluşturmamızı sağlar.Burda dikkat edilecek konu slash(/) işaretidir.
Bilgisayarımızda dosyayı oluşturacağımız yerin adresi adres çubuğunda backslash/tersslahs() şekildedir.Kodumuzun çalışması için sadece bunları değiştirmemiz gerekir.
Bu dersimiz bu kadar bir dahakine görüşmek üzere....

PYthon Derleyici

Prgoramımızı tanıtım amaç bir kaç foto ile anlatacağım.Gerçi bunu daha önce yapama gerekiyordu ama
acemiliğime verin :D

İlk önce shell yani kabuk diye tabir ettiğim kod ekranı.Bu ekran windowstaki cmd ekranına benzer, kodları yazarsınız o çalıştırır okadar.



İkinci resmimiz bir program oluşturmak için yapmamız gerekeni gösterecek.(New Window yada CTRL+N)



Üçüncü resmimiz de ise asıl bölüm olan derleyici(compiler) bölümüdür.Bu bölümde yazdığımız kodlar ancak kaydedip,programı açtığız zaman yada çağırıdığımız zaman çalışır.Shellde ise böyle bir olay yoktur.Sadece o an kodu yazarsınız ve olur.

Python'da Girintileme Sistemi

Pek çok programlama dilinde girintileme tercih meselesidir.
Bu dillerde yadığınız kodlar ister girintilenmiş olsun ister girintilenmemiş olsun
sorunsuz bir şekilde çalışırlar.
Basit bir C dili koduyla örnekleyelim...

#include
int main()
{
    int a =1;
    if(a==1)
    {
        printf("Ekranda görülecek yazın");
        return 0;
    }
}

şeklinde girintili olarak yazılabilir.Bu görünürlük ve kodlamanın anlaşılması açısından
çok yararı vardır.Ama aşağıdaki kodlama şeklinde de yazsak kod doğru olarak çalışacaktır.


#include
int main(){int a =1;if(a==1){printf("Ekranda görülecek yazın");return 0;}}

bu kodlama türü belki böyle fazla karışık gelemeyebilir belki de böyle bile karışık
gelebilir.Ama ileride binler kod yazarken böyle yazıpta bir hata yaptığımızda -ki tek
seçenek var bence;kodlamayı baştan yazmak- zorlanacağınızdan eminim.Tabi deneme-yanılma ile
de deneyebilirsiniz :D

Ama pythonda girintiler önemlidir.Yukarıdaki kodu Python'da yazalım.
a=1
if a==1:
    print ("Hello World")
şeklinde printten önceki boşluğu derleyici otomatik olarak bırakır.Ama bu aralığı kendimiz oluşturmak istersek
hatlarla karşılaşabiliriz.
Eğer kodu aşağıdaki şekilde yazarsak programımız çalışmayacaktır.
a=1
if a ==1:
print("Hello World")
şeklinde kodlamamızı yaptığımızda yazım hatası dediğimiz syntax hatasını alırız.
Bununla ilgili daha fazla bilgiye http://wiki.python.org/moin/HowToEditPythonCode 'den ulaşabilirsiniz.
Bir daha ki derste görüşmek üzere...

Fonksiyonlar-1

Fonksiyonlarla devam ediyoruz...

Fonksyionlar kod tekrarlarımızı yapmamızı önleyen kodlardır.

Basit bir fonksiyon oluşturalım..

KOD

def fonksiyon():
    print("Python programlama dili")


hemen burada yaptıklarımızı açıklayalım.
fonksiyonlar  def  parçacığı ile oluşturulur yani standart koddur.

def'den sonraki fonksiyon ise oluşturacağımız fonksiyonun ismidir.
Sizin seçiminize göre değişir.
son olarak fonksiyonun içinde 'Python programlama dili' ni yazdırma komutu verdik
Bu fonksiyonu her çağırdığımızda  'Python programlama dili' ni ekrana yazacaktır.

KOD-->fonksiyon çağırma

fonksiyon()
Python programlama dili-->ekran çıktısı


Parametlerinin kullanımını görelim.

KOD
def parametreler(x,y):
    print(x+y)

parametreler(34,23)
67--->ekran çıktısı

Parametleri parantez içerisinde belirliyoruz.
Yukarıdaki kodda 2 sayının toplama işlemini yaptık.Burada 2 sayı
kullanıdık,arttırması yada azaltması size kalmış.



Örneklerle devam edelim...

KOD

def karşılaştırma(a,b):
    if a>b:
        print(a,"büyüktür",b,"den")
    elif a==b:
        print(a,"eşittir",b)
    else:
        print(b,"büyük",a,"dan")


Yukarıdaki kodlar gireceğimiz iki sayının karşılaştırmasını yapacaktır.

Örnek Ekran çıktısı

KOD
karşılaştırma(4,5)


5 büyüktür 4 den-->ekran çıktısı



Şimdi fonksiyonların yerel-kısmi değişkenlerini göreceğiz.

KOD

y=10
def yerel(y):
    print("ilk y=",y)
    y=5
    print("yeni y=",y,"dir")


yerel(y)


ilk y= 10 ----->ekran çıktısı
yeni 5 dir


Burada yaptığımız fonksiyon içinde y mizi değiştirdik.Ama bu işlem de y
sadece fonksiyon kullanıldığında yeni değeri alacaktır.

yani

KOD

print(y)

10-->ekran çıktısı

yukarıdaki gibi ilk değerini verecektir.Eğer bunu kalıcı
değiştirmek istiyorsak...

KOD
x=50
def kalıcı():
    global x
    print("ilk a=",a)
    a=100
    print("Son a=",a)


kalıcı()

İlk a=20
Son a=100 ---->ekran çıktıları

yukarıdaki kodda kullandığımız yeni bir kod var:global
Bu kodu kullanarak değiştirdiğimiz sayıyı kalıcı olarak değiştirebiliriz.
Yani

KOD

print(x)

100-->ekran çıktısı


ekran çıktısını verecektir.Halbuki ilk olarak x' 50 tanımlamıştık.
global ifadesinden sonra 100 tanımladığımız için artık 100 değeri x'e atanmış oldu.



Şimdi dışarıda tanımlamadan direk fonksiyon içinde tanımlayarak bu işlevi
nasıl gerçekleştireceğimizi görelim...


KOD

def lokalolmayan():
    x=45
    print("ilk x=",x)
    def lokalolmayan1():
        nonlocal x
        x=456
    lokalolmayan1()
    print("Son x=",x)


Burada fonksiyon içinde fonksiyon oluşturarak x değişkenimizi değiştirmiş olduk.
Bundan sonra x'in değerini çağırırsak hata alacağız.Çünkü dışarıda
herhangi bir x tanımlamadık.

Bu dersimiz bu kadar,2. bölümde görüşmek üzere...

Fonksiyonlar-2

Fonksiyonlara 2.bölümde devam ediyoruz...


Şimdi varsayılan parametre belirlemeyi göreceğiz.

önekle başlayalım

KOD

def konus(isim,sayı=2):
    print(isim*sayı)


konus("python")

pythonpython--->ekran çıktısı


konus("python",5)
pythonpythonpythonpythonpython---->ekran çıktısı



Kelime argümnalarına geçelim.Bunlar fonksiyonumuza normal veya 2 tane
parametre girmemizi sağlıyor.

KOD

def sayılar(x,y=2,z=5):
    print("x--->",x,"y--->",y,"z--->",z)


sayılar(4)

x---> 4 y---> 2 z--->5   --->ekran çıktısı


sayılar(2,z=45)


x---> 2 y---> 2 z--->45   --->ekran çıktısı


Fonksiyonumuza istediğimiz sayıda argüman verebiliriz.

KOD

def limitli(x,y,z)
    print(x*y*z)

limitli(4,5,6)

120 ---->ekran çıktısı


Şimdi özel bir fonksiyon kullanacağız:sum
Bu kodun görevi belirli bir liste içindeki sayıraı toplamamızı sağlar.


KOD
liste=[1,9,5]
sum(liste)

15--->ekran çıktısı


İstediğimiz sayıda parametre oluşturma...

KOD

def adlar(isim,*isimler):
    print("Sıralı argüman:",isim)
    print("Sırasız argüman:",*isimler)


adlar("ali","veli","ışık","ayşe","ahmet")
Sıralı argüman: ali              --->ekran çıktısı
Sırasız argüman: veli ışık ayşe ahmet

burada istediğimiz sayıda argüman girmemize yardımcı olan
*isimler  kodudur.


Burada listede kullanabiliriz...

KOD

liste=["x","y","z","a","b","c"]


adlar(liste)

Sıralı argüman: ['x', 'y', 'z', 'a', 'b', 'c']
Sırasız argüman:        --->ekran çıktısı

adlar(*liste)

Sıralı argüman: x
Sırasız argüman: y z a b c    --->ekran çıktısı


return ifadesi
Fonksiyonumuza bir değeri döndürmemizi yada değer üretmemizi sağlıyor.

KOD
def min(a,b):
    if a>b:
        return b
    else:
        return a

min(4,5)
4


pass ifadesi
Boş ifadeyi belirtmekte kullanılır.

KOD
def boşfonksiyon():
    pass

boşfonksiyon()--->Bu kod ekran çıktısı vermeyecektir.

böylelikle boş bir fonksiyon oluşturmuş olduk.

doc ifadesi
Fonkiyonları belgelendirmeye yarar.Yani pythonu daha iyi anlamamızı sağlar.


KOD

def hesap(a,b):
    '''Küçük olanı ekran çıktısı verecektir...'''
    if a>b:
        print(b)
    else:
        print(a)

hesap(667,456)
456--> ekran çıktısı

şidmi belgelendirme yapalım

KOD

print(hesap.__doc__)

Küçük olanı ekran çıktısı verecektir...-->ekran çıktısı

fonksiyonumuzn ne işe yaradığını bize bilgi olarak verir.
Bunun dışında normal standart ifadelere de uygulayabiliriz.
Örnek:

KOD

print(print.__doc__)


print(value, ..., sep=' ', end='n', file=sys.stdout)

Prints the values to a stream, or to sys.stdout by default.--->ekran çıktısı
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep:  string inserted between values, default a space.
end:  string appended after the last value, default a newline.

son olarak (print.__doc__) ifadesinde doc'un enünde ve arkasında
2 tane alt tire(_) vardır.

Fonksiyonlar dersimiz burada sona erdi,sonraki derslerde görüşmek üzere.

Modül-1

Modüllerle devam ediyoruz.

Modüller python daha etkili kullanmamızı sağlar.

Modülleri "import" metodu ile programımıza ekliyoruz.

Standart modüllerle başlayalım.


sys modülü

pythonun kendisiyle alakalı bir modüldür.

sys.modül  burada modülü seçmek için "CTRL-space" ile
kullanacağımız modülü seçebiliriz.(sys.CTRL-space)

Bu modülün path özelliğini kullanacağız.

KOD

sys.path


yazıp enter'a basınca pythonla ilgili klsör yollarını ekrana
verecektir.

Örnek kodlama ve ekran çıktısı

>>> import sys
>>> sys.path
['C:\Python31\Lib\idlelib', 'C:\Windows\system32\python31.zip',
'C:\Python31\DLLs', 'C:\Python31\lib', 'C:\Python31\lib\plat-win', 'C:\Python31', 'C:\Python31\lib\site-packages']

modülün özelliğine bakmak istersek

KOD

help(sys)

veya

print(sys)

şeklinde kodları girmemiz yeterli olur.


sys.modules

Bu özellik ise pythondaki bütün modülleri ve onların
bulunduğu yolları ekrana verecektir.

KOD

sys.modules



Eğer bütün modülleri ekrana yazdırmak istiyorsak:

KOD

for i in sys.modules:
    print(i)


yazarsak ekrana yukrıdan aşağıya doğru yazacaktır.
İsterseniz buradaki isimileri "C:Python31Lib" yolundan
karşılaştırabilirsiniz.


Sadece istediğimiz bir özelliği

KOD

from modul_adı import modul_ozellıgı

şeklinde de ekleyebiliriz.


KOD

from sys import *

kodu ile pythondaki _ kodlar hariç diğer bütün kodları
eklemiş oluruz.



modüllerimi istediğimz adda isimlendirebiliyoruz.

örneğin stringprep modülünün ismini değiştirelim.

KOD

import stringprep as sp


şeklinde adlandırmış oluyoruz.


Bir sonraki derste görüşmek üzere....

String Metodları -2

2. bölümle devam ediyoruz.

count
Bir harfin cümle içinde kaç defa geçtiğini bize verir.

KOD
cumle="programlama"
cumle.count("a")

3-->ekran çıktısı


cumle.count("a",5)

2-->ekran çıktısı


2. kodda 5. sıradan sonra kaç tane a harfi olduğunu bulmamızı
sağlar.

----------------------------------------------

find metodu
cümle içindeki bir harfin kaçıncı sırada olduğunu bize verir.

KOD
cumle.find("p")

0-->ekran çıktısı


cumle.find("a",1)

5-->ekran çıktısı


rfind metodu
find metodunun sağdan sola doğru sayan hali


index metodu
find ile aynı görevdedir.Farkı cümlede olamayan bir harf yazdığımızda
find hata vermez,fakat index hata mesajı veirir.Kullanımı aynıdır.

------------------------------------------------------

splitlines metodu
satırlardan oluşan bir karakter diziini liste halinde sıralamamızı sağlar.

KOD
cumle="PythonnProgramlamanDilidir."
print(cumle)

Python
Programlama --->Ekran çıktısı
Dilidir.


cumle.splitlines()


['Python','Programlama','Dilidir.']--->Ekran çıktısı

------------------------------------------------------------

isalpha metodu
Bir karakter dizilerinin alfabetik olup olamdığını öğrenmemizi sağlar.

KOD

cumle="Programlama"
cumle.isalpha()

True--->ekran çıktısı

----------------------------------------------------

isdigit metodu
Bir karakter dizilerinin numaretik olup olamdığını öğrenmemizi sağlar.

KOD

cumle="Pyt5on"
cumle.isdigit()

False--->ekran çıktısı

----------------------------------------------------

isalnum metodu
Karakter dizinimizin hem alfabetil hem numaretik olup olmadığını öğrenmemizi
sağlar.

KOD
cumle="wqe31"
cumle.isalnum()

True--->Ekran çıktısı

cumle="$123"
cumle.isalnum()

False-->ekran çıktısı

----------------------------------------------------

isdecimal metodu
Karakter dizisinin ondalık sayı olup olmadığını belirler.

KOD
cumle="123123"
cumle.isdecimal()

True-->ekran çıktısı

cumle="23.23"
cumle.isdecimal()

False-->ekran çıktısı

----------------------------------------------------

isprintable metodu
Sayılar,karakterler,boşluklar ekranda çıktı veirir.Ama kaçış dizilerimiz
ekranda çıktı vermezler.Bunları kontrol etmemizi sağlar.

KOD
cumle="we5r"
cumle.isprintable()

True-->ekran çıktısı

cumle="Python n programlama n dilidir."
cumle.ispintable()

False-->ekran çıktısı

----------------------------------------------------

isspace metodu
Karakter dizimizin sadece boşlukladan oluşup oluşmadığını sorgular.

KOD

cumle="Python programlama dili"
cumle.isspace()

False-->ekran çıktısı

cumle=" "-->Boşluğa dikkat!!!
cumle.isspace()

True-->ekran çıktısı


3.bölümde görüşmek üzere...

String Metodları -3

3. ve son böülm ile devam ediyoruz.

partition metodu
Bir karakter dizisini bölmemize yarar.

KOD
cumle="programlama"
cumle.partition("a")


('progr','a','mlama')--->ekran çıktısı

-----------------------------------------

rpartition metodu
Bir karakter dizisini bölmemize yarar.Bunun farkı sağdan
bölmeye başlar.

-----------------------------------------

isnumeric metodu
Girilen karakterlerin sayısal olup olmadığını sorgular.

KOD
"123123123".isnumeric

True-->ekran çıktısı

"adf23".isnumeric

False--->ekran çıktısı

-----------------------------------------

ljust metodu
Karakter dizilerini sola hizalamamızı sağlar.

KOD
cumle="python"
cumle.ljust(10,"4")

'python4444'-->ekran çıktısı

-----------------------------------------

rjust metodu
Karakter dizilerini sağa hizalamamızı sağlar.

KOD
cumle.rjust(10,"/")

'////python'--->ekran çıktısı


-----------------------------------------

center metodu
Karakter dizimizi ortaya alır.

KOD
cumle.center(25,"p")

'pppppppppppythonppppppppp'-->ekran çıktısı


-----------------------------------------

expandtabs metodu
Tab noşluklarını(t) artırmamızı sağlar

KOD
cumle="Python tprgoramlama tdilir."
cumle.expandtabs(20)

'Python              prgoramlama         dilir.'-->ekran çıktısı


Böylelikle karakter dizisi metodlarımız burada sona eriyor.
Bir dahaki derslerde görüşmek üzere...İyi kodlamar :)

None

Bu dersimizde özel bir sabit olan None veri tipini göreceğiz.

None boş bir değerdir.Yani 0,1,false gibi değerlere sahip değildir.

KOD

None==0

false  ---->Ekran çıktısı

None==False

false  ---->Ekran çıktısı

çıktısını verecektir.Yani None ne 0, ne de  False'dır.


None kendine özel tipi vardır.

KOD

type(None)   ---->Ekran çıktısı


kodlarındanda anlayacağımız gibi kendisine özel Nonetype tipi vardır.


None'a değişken bağlayabiliriz.

KOD

a=None
type(a)  ---->Ekran çıktısı

a==None
True  ---->Ekran çıktısı


buradaki kodlarda a değişkenini None olarak atayıp işlemler yaptık.
Daha sonrada a'nın None olup olmadıdğını son kodumuz ile kontrol ettik.


Bu dersimiz bu kadar diğer derslerde görüşmek üzere...

String Metodları -1

Karakter dizilerimizin metodlarını işeleyeceğiz.

KOD
dir(" ")

kodu ile kullanacağımız metodları görebiliriz.


İlk olarak format metodu

Format metodu

KOD
cumle="(0),Python,(1)".format("C++","C")
cumle

kodlarını yazdığımızda ekrana

C++,Python,C -->Ekran çıktısı

verecektir.Yani bir bakıma format metodu sakladığımız verileri,
sırasıyla kullanmamızı sağlar.


startwith metodu
Bu metodumuz kuracağımız bir cümlenin hangi harf ile başladığını
öğrenmemizi sağlar.

KOD
cumle="Programlama dili python"

cümlesinin p ile başlayıp başlamadığını soruşturalım.

KOD
cumle.startwith("P")

True-->Ekran çıktısı

cumle.startwith("A")

False-->Ekran çıktısı


endwith metodu
Bu metodumuzda startwith metodumuzun tam tersi yani son harfinin hangi harf
olduğunu bize verir.


islower metodu
Cümlemizin küçük harflerden oluşup oluşmadığını sorgulamımıza sağlar.

Kullanımı

cumle.islower()


isupper metodu
Cümlemizin büyük harflerden oluşup oluşmadığını sorgulamımıza sağlar.

Kullanımı

cumle.isupper()


replace metodu
Cümle içindeki bir karakterin, bizim istediğimiz bir karakter ile
değiştirmemizi sağlar.

Kullanımı

cumle.replace("P","a",4)


burada  P=değişecek karakter
    a=yeni karakter
    4=değişecek "P" miktarı


join metodu
Karakter dizilerimizi bilerştirmemizi sağlar.

KOD

liste["python","programlama"]
" ".join(liste)

python porgramlama --->ekran çıktısı

",".join(liste)

python,programlama--->ekran çıktısı


split metodu
Karakter dizimizi listeye çevirir.

KOD
cumle="Python programlama dili"
cumle.split()

['Python','programlama','dili']--->ekran çıktısı

cumle.split(",")

['Python programlama dili']--->ekran çıktısı


şeklinde 2 kullanımı vardır.



rsplit metodu
split metodunun işlevini sağdan sola doğru yapar.
Kullanımı anynıdır.

strip
Boşluk ve kaçış dizilerimizi yok etmemizi sağlar

KOD
cumle="npython egitimit"
cumle.strip()

'python egitimi'--->ekran çıktısı

cumle=" python egitimi "-->Baştaki ve sondaki boşluklara dikkat!
cumle.strip()

'python egitimi'---->ekran çıktısı


lstrip metodu
Bu metod ise stripin görevinin sadece sol tafaını yapar.

KOD
cumle=" python egitimi "-->Baştaki ve sondaki boşluklara dikkat!
cumle.lstrip()

'python egitimi '-->ekran çıktısı


upper metodu
Bütün harfleri büyütmemizi sağlar


KOD
cumle="Selam"
cumle.upper()

'SELAM'-->ekran çıktısı



lover metodu
Bütün harfleri küçültmemizi sağlar

KOD
cumle="SELAM"
cumle.lover()

'selam'--->ekran çıktısı



capitalize metodu
Cümlemizin ilk harfini büyültür.

KOD
cumle="nesne yönelimli programlama"
cumle.capitalize()

'Nesne yönelimli programlama'-->Ekran çıktısı



title
Tüm kelimelerin baş harflerini büyültür

KOD
cumle.title()

'Nesne Yönelimli Programlama'-->Ekran çıktısı




Küçük harleri büyük,Büyük harleri küçük yapar


KOD
cumle="PyThon"
cumle.swapcase()

'pYtHON'-->Ekran çıktısı



istitle
Bütün kelimerin baş harflerinin büyük olup olmadığını sorgular.

KOD
cumle="Nesne Yönelimli Programlama"
cumle.istitle()

True-->ekran çıktısı


cumle1="Nesne yönelimli programlama"
cumle.istitle()

False-->Ekran çıktısı


İkinci bölümde görüşmek üzere....

Kümeler-3

Clear metodu
bu metod ile kümedeki, bütün ögeleri siler.

KOD
kümeler1={1,2,3}
kümeler.clear()

kodu kümedeki bütün ögeleri siler.



union metodu
bu metod iki farklı kümenin elemanlarını birleştirir ve aynı olan ögeler varsa
bunları birer defa alarak yeni bir küme oluşturur.

KOD
a={1,2,3,4}
b={2,4,6,8}

a.union(b)

kodu ile kümeyi birleştirebiliriz.



difference metodu
iki küme ile arasındaki faklı olan elemanları verir.


KOD
a.difference(b)

kodunun çıktısı olarak

{1,3}

çıktısını verecektir.bunun tam terside mevcut yani b'de olup
a'da olmayanlarıda bulabiliriz.


symmetric_difference metodu
Bu metod her iki kümedede farklı olan elemanları verir.

KOD
a.symmetric_difference(b)


kodu

{1,3,6,8}

kümesini ekran çıktısı olarak verecektir.Bu kodun tam terside geçerlidir.



intersection metodu
bu metod iki kümenin kesişimini bize verecektir.

KOD
a.intersection(b)


kodu

{2,4}

kümesini verecektir.



issubset metodu
alt küme olup olmadığını belirler.

KOD

küme1={1,2,3,4}
küme2={1,2,3,4,5}

küme1.issubset(küme2)

kodu küme1'in küme2'nin alt kümesi olup olmadığını belirler.


issuperset metodu
kümenin kapsayıp kapsamadığını belirler.

KOD
küme2.issuperst(küme1)


şeklindeki kodumuz küme2'nin küme1'i kapsayıp kapsamadığını  belirtir.



en son olarak bu kümelerin kesişimlerinin boş küme olup olmadığını
bulalım.

küme1.isdisjoint(küme2)


kodu ile iki kümenin kesişiminin boş küme olup olmadığını verir.


kümeler dersimiz bı kadar sonraki dersimizde görüşmek üzere.

Sözlükler

Python derslerimize sözlüklerle devam ediyoruz.

Sözlüklerde anahtar değer ilişkisi vardır.bunu açıklayalım.

KOD

sözlük={'anahtar':'değer'}


burada anahtar elemnı ekrana girilecek kod,değer ise ekrana girilen
kodun karşılığıdır.Bir örnekle açıklayalım.

KOD
sözlük={'sayı':'1'}
sözlük1={'programlama dilleri':('python','C','C++')}

len(sözlük)
len(sözlük1)

sözlük['sayı']
sözlük1['programlama dilleri'][0]

sözlük[sayı2]='2'





kodlarda yadıklarımızı açıklayalım.


sözlük={'sayı':'1'}
sözlük1={'programlama dilleri':('python','C','C++')}

kodları ile 2 tane sözlük oluşturmuş olduk.


len(sözlük)
len(sözlük1)

kodları ile sözlük eleman sayısını buluyoruz.



sözlük['sayı']
sözlük1['programlama dilleri'][0]

kodları ile girilen anahtarların değerlerini ekrana yazacaktır.
Buradaki [0] programlama 0. elemanı yani pythonu yazacaktır.diğer
elemanrı yazdırmak için numaraları girmemiz yeterli.


sözlük[sayı2]='2'

kodu ise sözlüğe yeni bir anahtar ve değer eklememizi sağlar.


Sözlükler konusu bu kadar sonraki derslerde görüşmek üzere...

Demetler

1 haftalık vize evresinden sonra derslerimize kaldığımız yerden
devam ediyoruz.

Bu dersimizde demetleri işleyeceğiz.Uzun zaman oldu başlayalım artık dimi :)

Demetler, listelerin bir çeşidi diyebiliriz.Demetler oluşturulduktan sonra
değiştirilemezler.

Demet oluşturmayı ayrıntılı olarak göstermiyeceğim.Çünkü listelerle aynı
oluşturma özelliğine sahip.Bazı farklarını göstereceğim.

Demet oluşturma

KOD

demet=('a','b')

veya

demet1='a','b'

tiplerine bakacak olursanız

KOD

type(demet)


gibi ekran yazısıyla karşılaşacaksınız.tupple inglizcede demetin
karşılığı olarak kullanılır.

Dediğimiz gibi Listelerin değiştirilemeyen halleri olduğu için
listelerdeki özellikleri(isim yazdırma,dilimleme...) barındırır.
Ama pop,remove,append,extend,insert gibi liste metodları çalıştırılmaz.
Nedeni ise, dersimizin başında da dediğimiz gibi listelerin
değiştirilemeyen hali olduğu için öge ekleme,çıkarma işlemleri
gerçekleşmez.İsterseniz deneyin bakın yani haklı ben çıkacağım :)


Gelelim demetlerin kendine has metodlarına:count ve index;


count
Demetimizdeki herhangi bir ögenin kaç defa geçtiğini gösteririr.


KOD
demet.cout('')

şeklinde kullanılır.


index
Demetimizdeki ögenin kaçıncı sırada olduğunu söyler.

KOD
demet.index('')


' 'in demet
Herhangi bir ögenin varlığını sorgular

KOD
'a' in demet

kodu demetimizin içerisinde a'nın oluğ olmadığını belirler.
Var ise True yok is False yazdıracaktır.

-Diğer bir fark ise;demetler listelerden daha hızlıdır.
-Aynı anda birden fazla veriyi başka verilere atayabiliriz.


KOD
yeni=('a','b','c')

(1,2,3)=yeni

burada a'yı 1'e, b'yi 2'ye,c'yi 3'e atamış olduk.ekrana yazdırısak

KOD

a

kodu ekrana '1'  çıktısını verecektir.


Bu dersimizde bu kadar bir dahaki derslerde görüşmek üzere...

 

Kümeler-1

ümeler konusuyla derslerimize devam edelim...

Daha öncede okulda öğrendiğimiz kümelerle aynı özelliklere sahiptir.
Yani kesişme,birleşme,fark gibi...

Küme oluşturmayla başlayalım

KOD

küme={'a','b','c'}


şeklinde bir küme oluşturuyoruz.

Boş küme oluşturmayı görelim

KOD

küme1=set()
type(küme1)
len(küme1)

şeklindeki kod boş kümenin tipini(set),küme sayısını bize gösterecektir.

Kümeler gelişi güzel sıralanırlar.Yani;

KOD
küme={'a','b','c'}

kümesini ekrana yazdırırken

KOD
küme
{'b','c','a'}

bir ekran çıktısı alabilirsiniz.


Yine liste ve demetlerde olduğu gibi öğe aratabiliriz.

KOD
'a' in küme

a karakterinin küme içinde olup olmadığını bize verecektir.



-Listeleri de kümler içinde kullanabilriz.

KOD
a=['d','c']
küme2=set(a)

kodu a listemizi küme2 'nin içne atmış oluyoruz.

tipine bakarak ta bunu görebiliriz.

KOD
type(küme2)

kodu hemen altında



şeklinde ekran çıktısı verecektir.Yani küme olduğunu belirtecek ifadedir set.


Demetleri de kümeye katabiliriz

KOD
demet=('a','d','s')

küme3=set(demet)

type(küme3)


kodlarıyla demetimizi kümemizin içinde atmış olduk ve tipine baktık.


Diğer bir liste ekleme yöntemi ise,


KOD


küme4=set(['q','r','f'])
typr(küme4)


kodlarıyla küme4'e direk bir liste atayarak tipine bakabiliriz.


Şimdi kümelerin metodlarına geçelim...

KOD
dir(set)


kodu ile kümelerimizin metolarını ekrana yazacaktır.

Kümeler-2

Metodlarımıza başlayalım...


add metodu
kümemize öge eklemek için kullanılır.sadece bir tane öge ekleme
özelliğine sahiptir.


KOD
kümeler={1,2,3,4,5}

kümeler.add(6)

kodu kümeye 6 sayısını ekler.

Bu metod ile liste,demet,int,string gibi veri tipleride eklenebilir.


liste ekleme

KOD

kümeler.add((7,8,9))

kodu kümemize (7,8,9) listesini ekleyecektir.



update metodu
bu metod ile değişken yada küme ekleyebiliriz.

KOD

kümeler.update=({php,python,css})


kodu kümemiz bir küme daha ekleyecektir.



discard,remove,pop metodları
Bu metodlar kümeden öge çıkarmayı sağlar.
-discard ile sadece bir öğe silinir ve kümede olmayan elemanı silme komutu
verildiğinde herhangi bir hata vermez.
-remove ile sadece bir öğe silinir ve kümede olmayan elemanı silme komutu
verildiğinde hata mesajı veririr.
-pop veri girememize izin vermeyen bir metoddur.pop metodu tek te siler ögeleri.


KOD
kümeler.discard(2)

kodu ile 2 'yi sileriz.


KOD
kümeler.remove(4)

kodu ile 4 'ü sileriz.


KOD
kümeler={1,3,5}

kümeler.pop(1)

yazdığımızda hata vereecktir.Çümkü pop değer almaz.
Sırasıyla aşağıdaki işlemleri gerçekleştirdiğimizde,

KOD
kümeler.pop()

1'i siler


kümeler.pop()
3'ü siler


kümeler.pop()
5'i siler


yani sıra ile silme işlemini gerçekleştirir.Silinecek öge kalmadığında ise
ekrana hata mesajı çıktısı verir.

Python programcısına tavsiyeler

Daha iyi bir Python programcısı ya da genel anlamıyla iyi bir programcı(aslında bu tabiri sevmiyorum) olmaya çalışırken hangi yolu izlediğimi, daha doğrusu izlemeye çalıştığımı maddeler halinde, Python’dan örnekler de vererek, yazayım bugün. Peşinen söylemeliyim ki; henüz iyi bir programcı olma konusunda başarılı olduğumu söyleyemem. Yemem gereken 40 fırın ekmek ve aşmam gereken yıllar var… :)
1- Bilgisayar biliminin temellerini bilin.

Program yazarken kullandığımız programlama dillerinin ve tekniklerin bir teorik temeli var. Veri yapıları, algoritmalar, nesne yönelimli programlama, tasarım örüntüleri(design patterns) gibi konularda iyi kötü teorik bilgiye sahip olun. Hatta zamanınız varsa ve gerçekten ilgi duyuyorsanız daha fazlasını da çalışabilirsiniz. Bu madde benim gibi Bilgisayar Mühendisliği ya da yakın dallarla okul bazında alakası olmayanlar için çok önemli; çünkü yaptığınız işin temelini bilmelisiniz.
2- Kullandığınız dilin temel özelliklerini iyi bilin.

Bir programlama dilinde etkin kod üretebilmek için onun inceliklerini bilmeniz gerekir. Python özelinde konuştuğumuza göre kaynak da gösterebilirim. Resmi Python dökümanlarındaki bazı kısımlar ve bazı kaynak kitaplar işinizi görebilir.
http://docs.python.org/release/3.1.3/tutorial/index.html
http://docs.python.org/release/3.1.3/howto/
http://diveintopython3.org
3- Düzenli olarak kod yazın.

Eğer bir dili öğreniyorsanız, onu düzenli olarak kullanmalısınız. Bu sizi zinde kılar. Tıpkı bir sporcu gibi; sürekli çalışırsanız o dili, dolayısıyla programlamayı da zamanla özümsersiniz. Size 10 günde ya da 3 haftada programlama ya da programlama dili öğreteceğini iddia eden kitaplara, kaynaklara kanmayın. Programlama yeteneğiniz, zeka ve deneyim gerektiren tüm diğer işlerde olduğu gibi zamanla gelişir.
4- İyi yazılmış kodları okuyun.

Sizden daha zeki ve muhtemelen daha uzun zamandır program yazan insanlar vardır kesinlikle. Onların yazdıkları kodları okuyun. Github, Gitorious, Google Code ve Sourceforge gibi kaynaklarda pek çok proje var. İlginizi çekenlerin ve kaliteli kod içerdiğine inandıklarınızın kodlarını edinin ve okuyun. Kod roman okur gibi okunmaz elbette ama sadece baksanız bile bir göz aşinalığı edinirsiniz. Ayrıca yapabiliyorsanız koda ufak tefek müdahalelerde bulunup nasıl çalıştığını gözleyin. Bu sizi motive eder.
Son dönemde dikkatimi çeken ve bolca kaliteli Python kodu içeren PyPy projesi var mesela. İnceleyin, gerçekten çok ilginçtir… Ayrıca Python’un kendi kodunu da inceleyebilirsiniz. Kodun C kısmından bahsetmiyorum; saf Python’la yazılmış modülleri inceleyin. Bizzat Python geliştiricileri ve katkıcıları tarafından yazılmış kodlar ve gayet güzeller.
5- Temiz ve standartlara uygun kod yazın.

İster Özgür Yazılım geliştirin ister sahipli, kodlarınız mümkün olduğunca okunaklı ve standartlara uygun olmalıdır. Bu durum Özgür Yazılım projeleri için daha da önemli; çünkü sizden başkaları da programınızı geliştirmek isteyebilir. Sadece yazdıklarınızı anlamak bile yeterli bir beyinde verimli fikirler oluşturabilir. Ayrıca programınızı nasıl dağıtırsanız dağıtın kodun kirli ve standart dışı, yani kalitesiz, olması zamanla projenizi öldürebilir.
Meşhur PEP 8, Python’un stil rehberi gibidir. Onu okuyun.
http://www.python.org/dev/peps/pep-0008/
Bu da Google‘ın Python hakkındaki tavsiyeleri. Google gibi Python’u çok yoğun olarak kullanan kaliteli bir firmanın dediklerine kulak asmak gerekir.
http://google-styleguide.googlecode.com/svn/trunk/pyguide.html
6- Yarım yamalak öğrenmeyin.

Kullandığınız dilin bir özelliğini keşfettiğinizde, o konu hakkındaki her şeyi araştırın ve bulduğunuz bilgiyi elinizden geldiğince özümseyin. Bir şeyi yarım yamalak bilmek çok tehlikelidir.
7- Daha fazlasını öğrenin.

Özellikle benim gibi orta düzey bir programcıysanız öğreneceğiniz çok şey vardır. Yazdığınız program muhtemelen çok daha güzel ve zekice yazılabilir. Sürekli araştırın, yeni özellikler ve teknikler öğrenip onları kullanmaya çalışın.

alıntıdır.

continue

Bu dersimizde continue ifadesini göreceğiz.

continue ifadesi döngünün belirli bir yerini atlayarak tekrar
başa dönmesini sağlar.

Örnek

KOD


while True:
    x=input('nEn az 4 harften uzun kelime giriniz:')
    if len(x) < 5:
        print('nEn az 4 harften daha uzun bir kelime giriniz!!!')
        continue
    print('nKelimeniz uygun.')


Açıklayalım:

Örneğimizde while döngüsünü kurarak başlıyoruz.
Burada girdiğimiz kelimenin uzunluğunu baz alarak yazdığımız bir
şarta bağlı döngüdür.
Bu kelime 4'den küçük ise hata verecek,4 harf ve üstü
kelimelerimizde kelimeniz uygundur yazsını ekrana verecektir.
continue ifadesine geldiğinde başa yani en az dört harften uzun
bir kelime ekranına geri dönecektir.

Şimdilik basit bir örnek yaptık siz bildiklerinizle ve tabiki
hayal gücünüzle istediğiniz şekilde değişik programlar yapabilirsiniz.

Bu derslik bu kadar bir daha ki derslerde görüşmek üzere...

break

Bu dersimizin konusu break ifadesi

Bu ifade herhangi bir dögüden çıkmamızı sağlar

Örnek

KOD

while True:
    x=input('Sevdiğiniz hayvan:')
    print (x)
    if x=='programdan çık':
        break
    print('Kelimeniz',len(x),'uzunluğundadır.')
print('Görev tamam!!!')


girdiğimiz hayvan isminden  sonra hayvanın ismini ve uzunluğunu
yazacaktır.Eğer ekrana    programdan çık    yazarsak görev tamamlandı
yazıp programdan çıkacaktır.

Bu dersimiz bu kadardır.Bir dahaki derslerde görüşmek üzere.


Not:Yukarıdaki kodlar python 3.1 ile yazılmıştır.python 3.2 de
yazacak arkadaşlara belirtmek istedim.Bazı yerlerde yanlış işlemler
gerçekleşiyor python 3.2.

Python Hesap Makinası

işlemler="""("toplama","çıkarma","çarpma","bölme","çık")=range(5)"""
yardım="nToplama için 0'annÇıkarma için 1'ennÇarpma İçin 2'yennBölme içinde 3'e basınız..."
print (yardım)

soru = input("nYapıcağınız işlemi seçin : ")

while True:
    if soru=="0":
        sayi1=int(input('nİlk sayıyı giriniz :  '))
        sayi2=int(input('nİkinci sayıyı giriniz :  '))
        print ("nToplamanın Sonucu : " , sayi1+sayi2)
        soru=soru1=input("nToplama İşlemine Devam etmek istiyorsanız 0'anÇıkmak için 4'e yada diğer işlemler için devam ediniz : ")
      
    if soru=="1":
        sayi1=int(input('nİlk sayıyı giriniz :  '))
        sayi2=int(input('nİkinci sayıyı giriniz :  '))
        print ("nÇıkarmanın Sonucu : " , sayi1-sayi2)
        soru=soru1=input("nToplama İşlemine Devam etmek istiyorsanız 0'anÇıkmak için 4'e yada diğer işlemler için devam ediniz : ")
      
    if soru=="2":
        sayi1=int(input('nİlk sayıyı giriniz :  '))
        sayi2=int(input('nİkinci sayıyı giriniz :  '))
        print ("nÇarpmanın Sonucu : " , sayi1*sayi2)
        soru=soru1=input("nToplama İşlemine Devam etmek istiyorsanız 0'anÇıkmak için 4'e yada diğer işlemler için devam ediniz : ")
      
    if soru=="3":
        sayi1=int(input('nİlk sayıyı giriniz :  '))
        sayi2=int(input('nİkinci sayıyı giriniz :  '))
        print ("nBölmenin Sonucu : " , sayi1/sayi2)
        soru=soru1=input("nToplama İşlemine Devam etmek istiyorsanız 0'anÇıkmak için 4'e yada diğer işlemler için devam ediniz : ")
      
    if soru=="4":
        break

while

Bu dersimizde while akış kontrolünü göreceğiz...

Hemen bir örnekle başlayalım...

KOD

x=5

while a==5:
    print('python')

kodu bizim ekranımıza sonsuz sayıda python yazdıracaktır.Yani bir
sonsuz döngü oluşturmuş olacağız.(Bu kodu yazmayabilirsiniz,sadece mantığını anlatmak içindi.)

KOD2

x=2

while x<10:
    print('python')

kodu bize 2 sayısından itibaren 10 küçük her sayı için ekrana
python yazdıracaktır.

bir önceki derste programladığımız sayı tahmin programını while ile
de yapalım

KOD

sayi=77
tf=True

while tf:
    tahmin=int(input('Tahmin ettiğiniz sayıyı giriniz:'))
    if tahmin==sayi:
        print ('Tahmininiz doğru!')
        tf=False
    elif 74
        print('Yaklaştınız')
    else:
        print('Bilemediniz...')

bu kodda tf,True yada False değerleri için atadığımız bir değişken.
Tanıdık gelmesi için baş harflerini aldık.Eğer 74 ile 77 arasında bir
sayı girerseniz ekrana Yaklaştınız,yanlış değer girerseniz Bilemediniz...
doğru değeri girerseniz  Tahmininiz doğru! yazısını yazdıracaltır.

Bu dersimiz bu kadar bir dahdki derste görüşmek üzere...

Listeler

Bu derste listeleri anlatacağız...

Bir liste oluşturarak başlayalım,

KOD

liste=["php","python","c","c++","ajax","asp"]

listemizi oluşturduk şimdi bunun içinden istediğimiz bir öğeyi
yazdıralım

KOD

liste[0]

kodu bize php öğesini ekrana yazacaktır.Neden sıfır diye soracak
olursanız,pythondaki listeler ile C veya C++ 'daki diziler aynı
nitelikltedir.Neden 0 dan başladığı ise bilgisayar sistemlerinin
2'lik sayı sisteminden yani 0 ve 1'lerden oluşmasıdır.

listelerde negatif sayıları da kullanabiliriz.

KOD

liste[-1]

kodu bize asp  öğesini verecektir.

yine değişik bir kodlama tarzı olarak

KOD

liste[4-1]

kodunu yazarak ekrana  c++  öğesini yazdırabiliriz.

Şimdi bu listeleri dilimleyelim

KOD

liste[1:3]

kodu bize sadece 2 tane öğe ekrana verecek:python ve c  öğeleri.

Diğer bir kod tekniği

KOD

liste[:4]

kodu bize ['php','python','c','c++']  ekran çıktısını verecektir.
yani 0 yazmadan da liste dilimleme işlemini yapabilirsiniz.


Diğer bir kodlama türü

KOD

liste[1:-1]

kodu bize ['python','c','c++','ajax']  verecektir.

Tüm listeyi şu şekilde yazdırabiliriz;

KOD

liste[:]

kodu bize tüm listeyi ['php','python','c','c++','ajax','asp'] ekrana
verecektir.




pythonda listeleri daha iyi kullanabilmek için bazı metodlar vardır.
bu metodları

KOD

dir(list)

diye yazarak görebiliriz.

kod listemiz

['__add__', '__class__', '__contains__', '__delattr__', '__delitem__',
'__delslice__', '__doc__', '__eq__', '__format__', '__ge__',
'__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__',
'__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__',
'__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__',
'__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__',
'__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend',
'index', 'insert', 'pop', 'remove', 'reverse', 'sort'
]


şeklindedir.


Hemen korkmayın!!!
Burada bizi ilgilendiren metodlar

append
count
extend
index
insert
pop
remove
reverse
sort

yukarıdaki 9 metodtur.

Bir liste oluşturalım


liste=["a","b","c","d","e","f","g","h"]


append  kullanımı
yeni öğe ekler ve sonuna ekler

KOD

liste.append('python')


ekrana  ['a','b','c','d','e','f','g','h','python'] çıktısını verir.




extend kullanımı
Listemize yeni liste eklememizi sağlar.

KOD

liste.extend('php')


ekrana  ['a','b','c','d','e','f','g','h','python','php'] çıktısını verir.


Diğer bir liste ekleme metodu ise,

KOD

liste=liste+[A]
liste

kodudur.ekrana  ['a','b','c','d','e','f','g','h','python','php','A']
çıktısını verir.


insert kullanımı
Bu ise listenin belirli bir yerine öğe eklememizi sağlar.

KOD

liste.insert(3,'Cumhuriyet')

kodu ekrana ['a','b','c','Cumhuriyet','d','e','f','g','h','python','php','A']
çıktısını verecektir.

count kullanımı
Bu metodun görevi ise bir ögenin listemizde kaç kere geçtiğini bulmamızı sağlar.

önce listemize bir Cumhuriyet öğesi dah ekleyelim
KOD

liste=liste+['Cumhuriyet']
liste

listemizin yeni şekli=['a','b','c','Cumhuriyet','d','e','f','g','h','python','php','A','Cumhuriyet']

şimdi count metodunu kullanalım...

KOD

liste.count('Cumhuriyet')

kodu ekrana 2 diye bir çıktı verecektir.

reverse kullanımı
Bu metod listemizi ters çevirmemizi sağlar.

KOD

liste.reverse()
liste

kodu ekrana ['Cumhuriyet','A','php','python','h','g','f','e','d','Cumhuriyet','c','b','a']
çıktısını verecektir.

sort kullanımı
Bu metod harf sırasına göre öğeleri sıralar

KOD

liste.sort()
liste

kodu ekrana ['A', 'Cumhuriyet', 'Cumhuriyet', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'php', 'python']
çıktısını ekrana verecektir.

remove kullanımı
Listeden öğe çıkarmak görevini yapar.

KOD

liste.remove('Cumhuriyet')
liste

kodu ekrana  ['A', 'Cumhuriyet', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'php', 'python']
çıktısını verir.

diğer bir yol ise

KOD

del liste[2]
liste

ekrana ['A', 'Cumhuriyet', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'php', 'python']
çıktısını verecektir.


pop kullanımı
öğe sırasına göre silme yapar ve silenen öğeyi ekrana yazar

KOD

liste.pop(0) //Bundan sonra silinecek olan öğeyi ekrana yazacaktır.
liste

ekrana ['Cumhuriyet', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'php', 'python']
çıktısını verecektir.


liste içine bir liste daha eklemek

KOD

liste.append(['1','2'])

kodu ekrana ['Cumhuriyet', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'php', 'python', ['1', '2']]
çıktısını verecektir.

Listenin içindeki öğeleri saydırmak istiyorsak

KOD

len(liste)

kodu ekrana 11 çıktısı veirir.Görüldüğü gibi eklediğimiz son listeyide tek bir
öğe gibi görecektir.

Liste içinde bir öğenin var olup olmadığını aramak

KOD

'b' in liste

kodu ekrana True  çıktısını verecektir.Eğer yoksa False  çıktısını verecektir.


KOD

'1' in liste

kodu False  yazısını ekrana yazacaktır.Çünkü 1 ayrı bir liste içindedir.yukarıda Demdiğimiz
gibi len ile öğe sayısını aratırken içindeki listeyi tek öğe olarak kabul edip öğe sayısını
11 olarak varmişti.Yani liste içindeki listeleri tek öğe olarak algılıyor ve içine giriş yapamıyor.

Bu dersimiz bu kadar biraz uzun oldu ama eminim siz bu işi halledersiniz,yine de sorularınız olursa sorabilirsiniz.
Bir dahaki derste görüşmek üzere...

for döngüsü

Bu dersimizde for döngüsünü işleyeceğiz.
For dögüsü bir işlemin belli bir koşulu sağlayıncaya kadar devam
etmesidir.

örnek for dögüsü kuralım

for x in "isminiz":
    print (x)

kodu ekrana harfleri yazacaktır.Yani alt alta

i
s
m
i
n
i
z

yazacaktır.


Şimdi bunun sayılar için olanını yapalım.
sayılar için range() fonksiyonunu kullanırız.range fonksiyonunun
Türkçedeki anlamı aralıktır.

range(x,y,z)
x=başlangıç sayısıdır
y=bitiş sayısıdır
z=Kaçar kaçar artışın belirtildiği sayıdır

Örneğimize geçelim

for x in range(1,10,1):
    print (x)

kodu ekrana

1
2
3
4
5
6
7
8
9
10


yazadıracaktır.



range(10) şeklinde kullanırsak,python bunu 0(sıfır)dan başlatarak
10' a kadar 1'er artırır ve ekrana yazar.
0(sıfır) sadece kaçar kaçar artacağını belirteceğimiz zaman yazıyotur.
yani;
    range(0,10,1):

gibi.

Örneklerimize gelelim;

-Örnek1
for x in range(10,20):
    print(x**2,'Python')


bu kodumuz 10 ile 20 arasındaki sayıların karesini alıp yanınada
python yazarak ekrana yazacaktır.

ekran çıktısı:

100 Python
121 Python
144 Python
169 Python
196 Python
225 Python
256 Python
289 Python
324 Python
361 Python

şeklinde bir ekran çıktısı verecektir.


-Örnek2

for x in range(1,10,3):
    for i in range(4):
        print (i,"python")

burda ekrana şöyle çıktı vermesi gerekiyor:

0 python
1 python
2 python
3 python
0 python
1 python
2 python
3 python
0 python
1 python
2 python
3 python


Burada x=1 için i döngüsü 4 defa dönmüştür.sonra

    x=4 için i döngüsü 4 defa dönmüştür
   
     x=7 için i döngüsü 4 defa dönmüştür

şeklinde açıklayabiliriz.

10 için niye dönmedi diye soracak olursanız range() fonksiyonu
0'dan başlar üst sınırının bir alt sayısı olarak işlemi gerçekleştirir.

if-else-elif

Bu dersimizde if,else,elif akış kontrolünü işleyeceğiz...

Evet dersimize başlıyoruz.

İlk önce terim acıklamalarını yaparsak,
if Türkçede eğer anlamına gelir.
else ise if'in olumsuzu şeklinde tanımlayabiliriz.Yani if'deki
değerin yanlış olması durumunda devreye girmektedir.
Bir de elif akışı kontrolü vardır.Bunu örnekten sonra açıklayacağım.


Dersimize bir örnekle başlayalım...

Bir sayı tahmin programı yapalım mesela;

KOD

sayi=77

tahmin_sayisi=int(input(Tahmin ettiğiniz sayı:))

if sayi==tahmin_sayisi:
    print('Tebtikler!Doğru Tahmin')

elif sayi
    print('Tahmin ettiğiniz sayi,sayimizdan büyüktür!')

elif sayi>tahmin_sayisi:
    print('Tahmin ettiğiniz sayi,sayimizdan küçüktür!')

else:
    print('Malesef tahmininiz yanlış')



Şimdi elif 'i açıklayacak olursak,

bu akış  kontrolü tahmin ettiğimiz sayıyı baz alarak
sayi değişkenine atadığımız değere göre ya büyüktür yada küçüktür
diye bizi uyaracaktır.

Eminim bu kısmı okumdanda elif yapısını anlayacaksınızdır.

Bu derslik bu kadar bir daha ki derslerde görüşmek üzere...

Birkaç püf nokta...

Bir kaç Püf Nokta

cumle='''Yarın günlerden "Pazartesi" dir.'''
print (cumle)

-Burada anlatacağım olaylardan biri;

cumle='''Yarın günlerden "Pazartesi" dir.''' burada kullanılan
tırnak işaretlerinde herhangi bir hata almayacağız.Çünkü
bu şekilde kullanılan tek tırnaklar daha önceki gördüğümüz sorunları
ortadan kaldırıyor.

-Bunun tam terside geçerlidir.Yani;


cumle="""Yarın günlerden 'Pazartesi' dir."""

yazısında da hiçbir hata vermeyecektir.

NOT=

C,C++ veya Php gibi diğer programlama dillerinde kodların sonunda
kullanılan ; işaretini pythonda da kullanabiliriz.Bunda hiçbir sakınca yoktur.
Tabi kullanmazsakta hiç bir şekilde hata almayacağız.

-Başka bir püf noktaya geçelim;

cumle='Yarın İzmir'e gidiyorum';
print (cumle);

kodları bize hata verecektir.Bunun nedeni ise İzmir'e kelimesindeki '  işaretidir.
Bunu önlemek için

cumle='Yarın İzmir'e gidiyorum';

ters slash işarti ile de bu sorunu giderebiliriz.


-Diğer bir püf nokta ise;

cumle="""Yarın hava bulutlu olacakmış
sanırım piknik işi yatacak""""
print (cumle)


yukarıdaki kodları yazdığımızda yazılar alt alta olacaktır.
Ekrana
    Yarın hava bulutlu olacakmış
    sanırım piknik işi yatacak

yazacaktır.Bunu iptal etmek için ise yine ters slash işaretini kullanacağız.

cumle="""Yarın hava bulutlu olacakmış
sanırım piknik işi yatacak""""
print (cumle)

Kodu ekrana
        Yarın hava bulutlu olacakmış sanırım piknik işi yatacak
yazdıracaktır.


Şimdi ise Format metodunu görelim

sayi=29
ne="Cumhuriyet"

print ("(0) Ekim'de (1) ilan edilmiştir".format(sayi,ne))

Burada (0) sayi değişkenini yani 29 u ifade etti,(1) ise Cumhuriyeti ifade etti.
Bu, Daha önce C ile çalışan arkadaşlara tanıdık gelecektir.

Son olarak basit bir kodu anlatarak bu derside bitirelim;

print ("Pythonu anlatmaya çalışıyorum n umarım yararlı olur...")

buradaki kodda n kodu  aynı satırda alt alta kodlar yazmamızı sağlayacaktır.
yani ekrana
        Pythonu anlatmaya çalışıyorum
        umarım yararlı olur
şeklinde ekrana yazacaktır.
Bu kod C ile çalışan arkdaşlara tanıdık gelecektir.

Bir dahaki derte görüşmek üzere...

input(),int()

Bu dersimizde input() fonksiyonunu öğreneceğiz.Hadi Başlayalım!

input fonksiyonu kullanıcıya veri girdirmenizi sağlar.(Tabi bu veri
yazıdır yani  ahmet,mehmet okula gitmedi  gibi cümle veya kelimelerdir.)
Örneğin;
KOD

    meyve=input('En sevdiğiniz meyve nedir?')
    print (meyve)

kodunu yazdığımızda bizden veri girmemizi isteyecektir.
Yani bu kod çalıştıktan sonra sevdiğimiz meyve mesela ARMUT ise
ekrana ARMUT yazarsak bir satır altına ARMUT ismini ekrana yazacakyıt.


Diğer bir kod ise sayılar için olan int() fonksiyonu;
Hemen kullanılışını gösteren bir örnekle başlayalım

meyve=int(input())

Gördüğümüz gibi burada input() fonksiyonunu da kullandık.Bunun nedeni
kullnıcıdan bir sayı alıcağız ama bunu neye göre alacağız.İşte bunu
belirtmek için.Hemen açıklayalım,
KOD

sayi=int(input('Bir Sayı giriniz:'))
print (sayi)

kodu bizden bir sayı girmemizi isteyecektir.Girdiğimiz sayıyı
bir sonraki alt satırda görebiliriz.

Bu derslik bu kadar sonraki derslerde görüşmek üzere...

Python -Değişkenler

Bu dersimizin konusu
Değişkenler

x= “isminiz”

print (x)
ekrana isminiz yazısını yazacaktır.C kullanan arkadaşlara
hatırlatma olsun, burada x değişebilir.

Mesala üstteki işlemi yaptıktan sonra

KOD

x= 600
y= 4

print (x*y)


yazarsanız ekrana 2400 yazacaktır.Yani yeni değeri işleyecektir

Değişkenleri birleştirelim;

KOD

zaman= “Bugun”
nereye= “Ankara’ya”

print (zaman,”sabah erkenden”,nereye,”gidiyorum”)
yazısı bizim ekranımıza Bugun sabah erkenden Ankara’ya gidiyorum yazdıracaktır.

Bu birleştirme işlemini şu yollada yapabiliriz;

KOD

x="sabah "
y="programlama "
z="dersi var"

print (x+y+z)

sabah programlama dersi var
diye ekrana yazdıracaktır.

Sayıları birden fazla yazdırmak için;

KOD

x=”40¨
print (x*5) yazarız
ve ekrana 9898989898 yazacaktır.


Bu olayı daha iyi görmek için şu kodları deneyelim:

KOD

x=”20 ” (20 'den sonra boşluk vardır.)
print (x*4)
yazarsak ekrana 20 20 20 20 yazacaktır.

Bu dersimiz bu kadar bir dahaki derste görüşmek üzere...