4 Mart 2008 Salı

Modüller

• Modüller
• Bilgisayar Kulübü
• Modüller
• Programı parçalarına ayırıp gerektiğinde kullanmak demektir.
• İyi programcı kodlarını modüller kullanarak yazar.
• Sizi tekrardan kurtarır.
• Kodunuzun daha hızlı çalışmasını sağlar.(başlangıç)
• Modüllerin Yazılması
• İmport ön tanımlı komutu ile programa dahil edilir.
• Python25 adlı klasör içerisine kaydedilir.(python kurulu olduğu dosya) modulilk.py
>>> İmport modulilk
• Modüllerin Çağrılması
• Modül_ismi.çağrılan_nesne
• Modulilk.nesne
• Modül Optimize
• Bir modülü optimize etmek istiyorsak
• python –o verimlilik
• Programınızın optimize edilerek derlenmesi için başına ” ! “ Konulur.(for linux)
#!/usr/bin/python

• Örnek
• Modülün içi
a=5
Sonuc=“modulu ogrendik”
print “bu ilk import edince görünecek”
def modulicindefonk(alınan)
print”modul calısyor”,alınan
-Program Çalışırken
>>> import modul1
bu ilk import edince görünecek
>>> modul1. modulicindefonk(‘yaz’)
yaz


• reload() fonksiyonu
• Bir modülü tekrar çağırmak için kullanılır.
• Tekrar çağrılmak gerektiğinde bu fonksiyon kullanılmasa fonksiyondaki değişiklikler gözükmez.
>>>reload(modül) kullanım

• Çağırma Yöntemleri
• from modül import nesne
• from re import search
Sadece arama işlemini yapacaksak modülün hepsini çağırmamıza gerek yok.
Yukarıdaki model ile istediğimiz fonksiyonu çağırırız.
Bundan sonra çağrılan fonksiyon “modül.fonksiyon” kalıbında çıkar
>>> fonksiyon() è artık böyle kullanılır.
• From modül import *
• Modülün tüm alt programlarını çağırır.
• Bu farklı modüllerin aynı adlardaki fonksiyonlarını gölgelendirmesini engeller.
• from modül import nesne as yeni_isim
• Bu kalıpla nesneye yeni isim vererek bu yeni isimle modül içindeki nesneyi çağırırız.
>>> from time import ctime as istediginiyaz
>>> isteginiyaz(17486732.76)

Fonksiyonlar

• Python Fonksiyon
• Bilgisayar Kulübü
• Fonksiyon Tanıtılması
• Fonksiyonlar def ifadesi ile tanımlanır.
• def fonksiyon_adı(agumanlar)
fonksiyon içerisinde işletilecek blok

• Fonksiyon Çağırılması
• Değişken=fonksiyon_adi(argümanlar)

• Fonksiyon Türleri
• def ilkfonksiyonum():
print ‘ptyhon grubu’
• def ikincifonksiyonum(gelen):
print gelen
• Fonksiyon Örnek
• def dosyayayaz(metin,mod=‘w’):
d=open(‘c:\dosya.txt’,mod)
d.write(metin+’\n’)
d.close()
dosyayayaz(‘ilk satır’)
dosyayayaz (‘ikinci satır’)
dosyayayaz (‘üçüncü satır’,’a’)

• Sonuç
ikinci satır
üçüncü satır
- Böyle bir sonuç beklemiyorduk.
- Fonksiyon ikinci sefer ‘w’ formatında açıldığı için birinci satır gider
• Örneklere Devam
>>> def deneme(gelen):
if gelen<6: return “gelen sayı 6 ten küçük”
return “gelen sayı 6 ten büyük”
>>> print deneme (5)
gelen sayı 6 ten küçük

• Pythonda Kulanılan Bazı Yönergeler
• %a paz,sal….
• %A Pazartesi, Salı….
• %b oca,sub…
• %B ocak, şubat…..
• %d ayın kaçıncı günü olduğunu
• %H 24’lük sistemde saat
• Uyarı
Eğer bir fonksiyon argümanlarından birinin veya bir kaçının ön tanımlı değeri olacaksa, bunlar en sona yazılmalıdır yani ön tanımlı değeri olmayan argümanlar öncelikle yazılmalıdır.
• Hazır Fonksiyonlar
• Map()
Kendisine verilen fonksiyon ile bu fonksiyona gönderilecek olan dizi değerini gönderir.
for k in sys.argv[1:len(sys.argv)]:
sayiDeğer.append(int(k))
Yerine
sayiDeğer=map(int, sys.argv[1:len(sys.argv)]):
• Hazır Fonksiyonlar
• lambda() :Yazım ve kullanımda pratiklik sağlar
>>> def carp(x,y)
return x*y

>>> lambda x,y : x*y
Kalıp :
lambda parametreler ifade

Cümle İşlemleri-Denetleme Deyimleri

PYTHON
Cümle İşlemleri
Konumlama ve Parçalama:
Bir cümlenin istenilen bir konumundaki karakterini almaya “konumlama” denir.
>>>kelime=“Python a başladık.”
>>> kelime[0:2] #0. konum ile 2. konum arasındaki
'Py‘ # sonucunu alırız
>>> kelime[12] #yazarsak
‘l’ #12.indexteki harf gelir.
>>> kelime[:5] # İlk beş karakter alınır
>>> kelime[3:] # İlk üç karakter dışındaki karakterler
İndisler negatif sayılar da olabilirler. Bu durumda saymaya sağ taraftan başlanır.
>>> kelime[-1] # Son karakteri verir.
>>> kelime[:-2] # Son iki karakter dışındaki karakterler


Cümle Atamaları:
Bir cümleye birden fazla satır eklemenin iki yolu vardır.
• “\n”karakteri ile
>>> python="yazilimi ve ogrenimi kolay\nbir dildir\nayni zamanda hizlidir“ yazarsak
yazilimi ve ogrenimi kolay
bir dildir
ayni zamanda hizlidir #3 farklı satırda karşımıza çıkar.
• """ veya ‘’’ arasına yazdığımız ifadeler “\n” kullanmadan satırlara bölünebilir.




Cümle Biçimleme:
derece=20
>>> print"bugün hava %d santigrat derece"%(derece)
bugün hava 20 santigrat derece #C/C++ bilenlere tanıdık gelecek






>>> b=30;elk=40
>>> dpu={"bil":"%d"%b,"elektrik":"%d"%elk}#sözlüğünde
>>> dpu
{'bil': '30', 'elektrik': '40'} #sonucunu alırız.

Desen Bulma:
Cümle içerisinde desen bulma ‘re’ ile yapılması önerilir.Fakat basit işlemde ‘re’ modülünü hafızaya yüklemek anlamsız olabilir.
>>> cumle="DPU kutahya da bulunan bir universitedir.“
>>> cumle.find(DPU)
0 #’DPU’ kelimesinin başladığı indexi verir.
>>>cumle.find(denizli)
-1#aranan bulunamadığı için sonuç ‘-1’dir.
Eğer birden fazla aynı kelime varsa ’rfind()’ ile bulmaya sağdan başlanır.
>>> html='

Bu Bir Kirmizi Basliktir.


>>> print html[html.find("

")+4:html.find("

")]
Bu Bir Kirmizi Basliktir.
Bu tür işlemlerde ‘re ’ kullanılması önerilir.Daha sonra değinilecek
Büyültme Küçültme:
Bir cümlenin tamamını büyük harfe çevirmek için upper() foksiyonunu kullanırız.
>>> dpuPython="calismalinizda basarilar“
>>> dpuPython.upper()
'CALISMALINIZDA BASARILAR‘#sonucu elde edilir
Eğer cümlenin harflerini lower() fonksiyonu ile küçültebilirsiniz.
Bir cümlenin sadece ilk harfini büyütmek için
Yazdığınız bir cümle büyük harflerden oluştuğunu öğernmek için isupper() küçük harflerden oluştuğunu öğrenmek için islower() kullanabilirsiniz.




Desenlere Ayırma ve Birleştirme:
Bir cümleyi istediğiniz bir desene göre ayırmanız mümkün.Bunun için split() fonksiyonunu kullanacağız.
>>> desen="bu yaziyi bosluk karakterine gore ayiralim“
>>> desen.split(“ ")
['bu', 'yaziyi', 'bosluk', 'karakterine', 'gore', 'ayiralim']#görüldüğü gibi sonuç bir listeye atandı.
Birden çok cümleyi join() ile bir desene göre birleştirebiliriz.
>>> ' ve '.join(["cem","gurcan","yavuz","esat"])
'cem ve gurcan ve yavuz ve esat‘
Desen Değiştirme:
Bir deseni başka bir desenle değiştirebiliriz.
Genelde web programcılığında kullanılan replace() sistem programlamada da kullanılır.
>>> asistan="Yildiray Anagun ve Soydan Sertas“
>>> print asistan.replace("Yildiray Anagun","Abdullah Sekercioglu")
Abdullah Sekercioglu ve Soydan Sertas
Ortalama:
Web programcılığında işimize yarayacak just(), ljust(), rjust()
>>> x="Kutahyanin Pinarlari“
>>> print 'XX',x.center(30),'XX‘
XX Kutahyanin Pinarlari XX#burada ‘XX’ yerine istediğinizi yazabilirsiniz
>>> print 'XX',x.ljust(30),'XX'
XX Kutahyanin Pinarlari XX #sola dayalı
>>> print 'XX',x.rjust(30),'XX‘
XX Kutahyanin Pinarlari XX #sağa dayalı
String modülünü kullanarak bir işlem yapalım:
>>> import string #string modülü yüklenir
>>> dizi="heroes dunyada en fazla izlenen dizi“
>>> print string.replace(dizi,"heroes","LOST")
LOST dunyada en fazla izlenen dizi #LOST tatildeyken belkiJ









DENETLEME DEYİMLERİ





Karşılaştırma operatörleri:











Bu operatörleri C’den de hatırlayacaksınız.
Karşılaştırma operatörleri sayılar, cümleler, listeler, tüpler, ve sözcükler için geçerlidir.

if Deyimi:
Sonuç doğru olduğunda,sonra gelen bloğun çalışmasıı sağlar.
>>> if 5>4:
... print"bes dortten buyuk“
bes dortten buyuk
if bloğu “:” ile başlar.yukarıda görüldüğü blok gibi bi tab atılarak içerden alınmalıdır.Python’da bu önemlidir.
>>> if "python"=="python" and 4/4==1: print "and operatörü"
>>> if not 3==2:
... print "bu blok calisir“
... bu blok calisir
>>> if True:
... print "a“
a #burada True if bolğunun çalışmasını sağlar.
in Deyimi:
“in ” deyimi aradığınız bir terimin liste içerisinde olup olmadığına bakar.











if-else Yapısı:
sayi=raw_input("bir sayi lütfen:")
if int(sayi)>0:
print "sayiniz pozitif\n"
else:print "sayiniz negatif yada sifir"

Buradaki kodları .py isimiyle kaydedip çalıştırdığımızda bzden bir sayı girmemizi isteyecektir ve sayımıza göre sonuç alacağız.



if-elif-else Yapısı:
Python da switch veya case deyimi yerine if-elif-else vardır.
sayi=raw_input("sayi girin:\n")
if int(sayi)>0:
print"sayiniz pozitif"
elif int(sayi)==0:
print "sifir"
else:
print"negatif“
Bu yapının güzel tarafı elif yazıp koşılu yazıp bloğumuzu yazarız.
Karmaşık bir if-else içerisine girmiş olmayız.


for deyimi:
for deyimi Pascal veya C dillerinde görülenden biraz farklıdır. Python’daki for deyimi herhangi bir sıranın ( liste,
karakter dizisi vs.) elemanları üzerinde sırayla yinelenir
>>> for x in [1,2,3,4,5]:
... print"x in degeri:",x
...
x in degeri: 1
x in degeri: 2
x in degeri: 3
x in degeri: 4
x in degeri: 5
Yukarıdaki liste elemanları herhangi bir python nesnesi olabilir.

range() fonksiyonu:
Bu hazır fonksiyon tamsayılardan bir liste oluşturmak için kullanılır.
range(baslangic,bitis,artis_miktari)
Eğer başlangıç değeri verilmezse sıfır alınır,son argüman verilmeze artış miktarı 1 olur.








Döngülerde break ve continue:
break deyimi, C’de olduğu gibi, içinde kaldığı en küçük for veya while döngüsünden çıkılmasına ve döngü deyiminin tamamen sona ermesine neden olur.
continue deyimi döngü içindeki diğer deyimlerin atlanıp bir sonraki yineleme işleminin başlamasına sebep olur.













pass Deyimi:
pass deyimi hiçbirşey yapmaz. Python sözdizim kurallarına göre bir ifadenin gerekli olduğu, fakat programın birşey
yapması gerekmediği zaman kullanılabilir:
>>> while True:
... pass # klavyeden CTRL+C ile kesilene kadar sürer





while Deyimi:
Python da kullanılan diğer bir döngüdür.Bir koşul doğruluğunu devam ettirdiği sürece devam eder.
while karşılaştırma:
karşılaştırma doğru olduğu
sürece yürütülecek blok

25 Şubat 2008 Pazartesi

24 Şubat 2008 Pazar

Sözlükler

-Veritabanı uygulamalarında büyük kolaylık sağlar.
-Lisateler gibi birden cok eleman taşırlar.
-Elemanlar sıfırdan başlayan sayılar yerine istediğiniz bir cümle olabilir.
Kulanuım şekli
sözlük={ 'anahtar': 'değer'}
>>> sözlük={'bilgisayar':'Muhendisligi'}
ÖR:
>>> sozluk['bilgisayar']
'Muhendisligi'

Python Cebe Girdi

Çarşamba akşamı bir araya geldik.İlk cep telefonu uggulamaımızı gerçekleştirdik. Nokia 7610 cep telefonuda yaptığımız ilk denemeler gayet iyiydi. Hepsini başarılı olamasak bile bir çoğunda kodların çalıştığını gördük.

19 Şubat 2008 Salı

Tüpler

Listelerden farkı "[ " yerine "(" işaretini kullanmasıdır.
Ör:
>>> ogrenci('ali','ahmet','ayşe')
-Tüplerin içeriği sabittir.
-Hafıza yönetimini en aza indirgediği için programınızı hızlandıracaktır.