Python Egitim Notlari - III

Egitimin ucuncu adiminda, Python’da cok sik bir sekilde kullanabilecegimiz komutlardan bahsetmeye calisacagim. Tabi bunlarla ilgili Tutorial’lara, kurmus oldugunuz Python paketleri icerisindeki The Python Tutorial.html icerisinden de ulasabilirsiniz. - Tupple liste yapisi ( ve ) arasindaki degerlerdir. a,b,c = (1,2,3) demet = 1,2,3 len(demet) l.count(1) l.index(1) - Sozluk yapilari, bir anahtara karsilik gelen bir deger bulunmaktadir... sozluk = {"anahtar":"deger"} seklinde kullaniliyor type(sozluk) dedigimizde dict seklinde deger donecektir dict(<(1,2),(3,4,)>) seklindede kullanilabilir ekran ciktisi ; {1: 2, 3: 4} olacaktir. >>> rehber = {} >>> rehber["sevda"]="11234" >>> rehber["selcuk"]="111" >>> rehber {'sevda': '11234', 'selcuk': '111'} >>> rehber.keys() #sadece anahtarlari getiriyor <'sevda', 'selcuk'> >>> rehber.values() #sadece degerleri getiriyor <'11234', '111'> >>> "sevda" in rehber #rehberde key yada value arattirabiliyoruz True del rehber["sevda"] #rehber icerisinde verdigimiz keyi siliyor >>> rehber {'selcuk': '111'} >>> del rehber #rehberi tamamen siliyor - Sozlukteki tum degerleri silmek icin ; rehber.clear() diyebiliriz... >>> rehber = {"ankara":"06", "istanbul":"34"} >>> rehber {'ankara': '06', 'istanbul': '34'} >>> rehber.clear() >>> rehber {} - For dongusu icerisinde sozlukler sozluk = {"antalya":"2013", "usak":"2012"} for i in sozluk: print i ciktisi ; usak antalya - Bu sadece anahtarlari getirecektir. for i in sozluk: print i, sozluk ciktisi soyle olur ; usak 2012 antalya 2013 sozluk.items() <('usak', '2012'), ('antalya', '2013')> sozluk = {"isim":"sevdanur", "soyisim":"genc"} for key, value in sozluk.items(): print key, value rehber = {"ankara":"06", "balikesir":"10"} rehber["adana"]=[] rehber["adana"].append("01") >>> rehber in ciktisi artik ; {'ankara': '06', 'balikesir': '10', 'adana': <'01'>} sozluk = {} sozluk<(1,2)>=3 >>> sozluk ciktisi su sekildedir; {(1, 2): 3} anahtar = (<1,2>,3) sozluk = 0 denildigi zaman hata verecektir. - Kumelerin kullanimi : vermis oldugumuz elemanlari tek tek listeleyecektir. kume = set("abcdefghaaa") >>> kume denildiginde ekran ciktisi set(<'a', 'c', 'b', 'e', 'd', 'g', 'f', 'h'>) for i in kume: print i - Kumelere eleman eklemek icin ; kume.add("p") kume1 = set("alakazam") kume2 = set("abracadabra") - Bu iki kumedeki ortak karakterlere bakalim; kume1.intersection(kume2) ekran ciktisi soyledir; set(<'a'>) kume1 & kume2 #ayni sekilde kesimi alip ayni sonucu vermektedir. kume1 | kume2 ile kumeleri birlestirebiliyoruz. kume1.difference(kume2) #kume1in kume2den farkini gosterir. ekran ciktisi; set(<'k', 'z', 'm', 'l'>) kume2.difference(kume1) set(<'c', 'r', 'b', 'd'>) kume2-kume1 #ayni sonucu verecektir. set(<'c', 'r', 'b', 'd'>) - Listede bir elemani kontrol etmek liste = ["python","akademik", "bilisim", "akademik", "python"] for i in set(liste): print i, "--->",liste.count(i) ciktisi 2 2 1 olucaktir, her birinden saymistir; python ---> 2 akademik ---> 2 bilisim ---> 1 - Listeyi sozluge aktarmak liste = ["python","akademik", "bilisim", "akademik", "python"] sozluk = {} for i in set(liste): sozluk = liste.count(i) for key, value in sozluk.items(): print key, " : ", value ekran ciktisi ; python : 2 akademik : 2 bilisim : 1 - Uretecler sayi = 5.12345678 for i in range(6): print round(sayi, i) liste = [] for i in range(6): liste.append(round(sayi,i)) liste = liste = Ekran ciktilari ; >>> liste <5.0, 5.1, 5.12, 5.123, 5.1235, 5.12346> >>> liste = >>> liste <5.0, 5.1, 5.12, 5.123, 5.1235> >>> liste = >>> liste <0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98> matris = [<1,2,3>,<4,5,6>,<7,8,9>] >>> matris<0> <1, 2, 3> >>> matris<2><1> 8 - Bir matrisin transpozu 123 456 789 147 258 369 matris = [<1,2,3>,<4,5,6>,<7,8,9>] transpose = [[row for row in matris] for i in range(3)] >>> matris [<1, 2, 3>, <4, 5, 6>, <7, 8, 9>] >>> transpose [<1, 4, 7>, <2, 5, 8>, <3, 6, 9>] matris = [<1,2,3>,<4,5,6>,<7,8,9>] transposed = [] for i in range(3): gecici = [] for satir in matris: gecici.append(satir) transposed.append(gecici) print transpose - XOX oyunu _ _ O _ X _ O _ _ def yazdir(matris): for satir in matris: for i in satir: print i, print "" matris = [["_","_","_"],["_","_","_"],["_","_","_"]] kazanma_matrisi = [[<0,0>,<0,1>,<0,2>], [<1,0>,<1,1>,<1,2>], [<2,0>,<2,1>,<2,2>], [<0,0>,<1,0>,<2,0>], [<0,1>,<1,1>,<2,1>], [<0,2>,<1,2>,<2,2>], [<0,0>,<1,1>,<2,2>], [<0,2>,<1,1>,<2,0>]] x_durumlari = [] o_durumlari = [] sira = 1 while True: if (sira%2==1): isaret = "X".center(3) elif (sira%2==0): isaret = "O".center(3) satir = raw_input(isaret + " Satir numarasini giriniz<1,2,3> : ") sutun = raw_input(isaret + " Sutun numarasini giriniz<1,2,3> : ") satir = int(satir) - 1 sutun = int(sutun) - 1 if matris == "_": matris = isaret if isaret = "X".center(3): x_durumlari.append() elif isaret = "O".center(3): o_durumlari.append() sira += 1 else: print "Burasi Dolu... Tekrar Deneyiniz..." yazdir(matris) for i in kazanma_matrisi: o = x = if len(o)==len(i): print ("O Kazanmistir...") quit() if len(x)==len(i): print ("X Kazanmistir...") quit() - import xox dedigimiz zaman direk olarak calistirmis oluyoruz. - Module'ler def fonksiyon(): print "Burasi modul1" import module1 isimle kaydedilip cagirildiginda kendi bulundugu yerde bakar ve yazdirir. for i in sys.py #random.py def generateRandomInt(): print 5 import random dedikten sonra dir komutu ile ozelliklerine bakabiliriz dir(random) icerisinde kullandigimiz tum ozellikleri listemektedir. Module1.fonksiyon() ile cagirabiliriz. from module1 import fonksiyon fonksiyon() ile cagirinca sonucunu goruyoruz. from modul1 import * #module1 icerisindeki herseyi import etmis oluyoruz. def fonksiyon(): print "Burasi modul1" ip = "192.168.1.3" parola = "1234" import module1 dir(module1) module1.parola module1.fonksiyon() module1.ip from module1 import ip import module1 as module #ismini module olarak degistirdik dir(module) #yine ayni icerigi alacaktir. - mkdir paket ile paket isminde bir dizin olusturuyoruz. cd paket/ ile dizin icerisine giris yapiyoruz. vim module.py def fonksiyon(): print "paket, module, fonksiyon" import paket ls ile listeleriz. dir(paket) from paket import module dir(module) vim __init.py__ __all__ = ["module"] #module uygulamasi def topla(*l): #birden fazla arguman verebiliyoruz * ile... for i in l: print i topla(1,2,3) seklinde 3 arguman verebiliyoruz. - Toplama,cikarma,carpma,bolme islemlerini yapan python modulu olusturalim. #islemler.py def topla(*l): """ verilen sayilari toplar bu bir yorum satiridir. """ toplam = 0 for i in l: toplam += i return toplam #return sum(liste) def carp(*l): sonuc = 1 for i in l: sonuc *= i return sonuc def bol(a,b): return a/b def cikart(a,b): return a-b from islemler import * import islemler islemler.__doc__ #module icerisindeki yorum satirlarini gostermektedir. dir(islemler) islemler.topla.__doc__ islemler.cikart.__doc__ sonuc = islemler.topla(42,66,56) print sonuc sonuc = islemler.carp(2,4,8) print sonuc sonuc = islemler.cikart(1,5) print sonuc sonuc = islemler.bol(26.0,5) print sonuc Keyifli Calismalar Dilerim...
Yorumlar