Example: marketing

PYTHON ĐLE PROGRAMLAMAYA G ĐRĐŞ - …

PYTHON ile PROGRAMLAMAYA Giri 1 PYTHON LE PROGRAMLAMAYA G R Cihangir BE KTA cihangir[at]akademi[dot]EnderUNIX[dot]or g 13 May s 2008 NDEK LER: PYTHON D L N N ZELL KLER 1 PYTHON ' A G R 1 AR TMET K LEMLER 1 VER T PLER 1 KONTROL DEY MLER 5 FONKS YONLAR 7 MOD LLER 9 PAKETLER 10 HATALAR ve ST SNALAR 11 SINIFLAR 12 PYTHON DA MYSQL VE QT LE GUI UYGULAMASI 14 PYTHON ile PROGRAMLAMAYA Giri 2 D L N N ZELL KLER * Nesneye y nelikdir. * zg rd r. * Yorumlamal ve derlemelidir. Her ne kadar sadece yorumlamal g z kse de "byte code" bi iminde derleme yap l r. * Ta nabilir. * G l d r. htiyac n z olabilecek hemen hemen t m zellikler mevcuttur. * H zl d r. * Ticari uygulamalar geli tirmeye uygundur. Bunun i in kodu bytecode eklinde verebilirsiniz ya da "py2c" ile C mod l ne evirip derleyebilirsiniz.

Python ile Programlamaya Giri ş 5 Dosya okuma(r), yazma(w), ekleme(a), okuma ve yazma(rw) olmak üzere 4 modda açılabilir. Bazı dosya i şlemleri şunlardır:

Tags:

  Irig, Programlamaya, Ile programlamaya giri

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Advertisement

Transcription of PYTHON ĐLE PROGRAMLAMAYA G ĐRĐŞ - …

1 PYTHON ile PROGRAMLAMAYA Giri 1 PYTHON LE PROGRAMLAMAYA G R Cihangir BE KTA cihangir[at]akademi[dot]EnderUNIX[dot]or g 13 May s 2008 NDEK LER: PYTHON D L N N ZELL KLER 1 PYTHON ' A G R 1 AR TMET K LEMLER 1 VER T PLER 1 KONTROL DEY MLER 5 FONKS YONLAR 7 MOD LLER 9 PAKETLER 10 HATALAR ve ST SNALAR 11 SINIFLAR 12 PYTHON DA MYSQL VE QT LE GUI UYGULAMASI 14 PYTHON ile PROGRAMLAMAYA Giri 2 D L N N ZELL KLER * Nesneye y nelikdir. * zg rd r. * Yorumlamal ve derlemelidir. Her ne kadar sadece yorumlamal g z kse de "byte code" bi iminde derleme yap l r. * Ta nabilir. * G l d r. htiyac n z olabilecek hemen hemen t m zellikler mevcuttur. * H zl d r. * Ticari uygulamalar geli tirmeye uygundur. Bunun i in kodu bytecode eklinde verebilirsiniz ya da "py2c" ile C mod l ne evirip derleyebilirsiniz.

2 * Yaz l m kolayd r. * renmesi kolayd r. ' A G R ncelikle PYTHON sisteminize yok ise sitesinden sisteminize uygun olan indirebilirsiniz. Ayr ca PYTHON n yan nda baz mod llere ihtiyac n z olabilir. E er UNIX kullan yorsan z bu mod lleri paket y neticiniz arac l yla y kleyebilirsiniz. PYTHON iki ekilde kullan labilir. Bunlardan biri etkile imli PYTHON kabu unu kullanmak. Di eri ise programlar dosyaya yazmakt r. Etkile imli kabuk daha ok k sa programlar i in ve genelde test etmek i in kullan l r. TMET K LEMLER +,-,*,/ i lemleri mevcuttur. Yaln z bunlar kullan rken tip uyu mazl na dikkat etmek gerekir. Ayr ca '**' s almak i in kullan l r. rnek: >>> 8**2 64 Karma k say lar zerinde de i lem yap labilir: >>> (3 + 3j) + (4 -1j) (7+2j) T PLER PYTHON daki standart veri tipleri "say lar(integer, float), s zc kler(string, character), listeler(lists), t pler(tuples), s zl kler(dictionaries), dosyalar(files)" d r.

3 De i ken isimleri rakamla ba layamaz. Tan mlarken t r n belirtmenize gerek yoktur. Otomatik olarak alg lan r. de i kenleri: >>>a=6 >>>b=7 >>>a+b 13 >>>c=(1+1j) PYTHON ile PROGRAMLAMAYA Giri 3 >>>d=(2+3j) >>>c+d 3+4j zc k de i kenleri: >>>a = "Merhaba PYTHON " >>>print a Merhaba PYTHON >>>b = " ile programlama" >>>a+b 'Merhaba PYTHON ile programlama' S zc kler i in baz fonksiyonlar vard r. Bunlara rnek olarak s zc k olan de i keni say ya eviren int() , say y s zc e eviren str() , s zc n uzunlu unu veren len() verilebilir. >>> a=9;b="5" >>> print a+int(b) 14 >>> str(a)+b '95' >>> len(str(a)+b) 2 de i kenleri: Listeleri verileri tutan diziler eklinde d nebiliriz. Olu tururken k eli parantez kullan l r. >>> liste = ['java','c++',' PYTHON '] >>> liste ['java','c++',' PYTHON '] >>> liste[1] 'c++' >>> liste = liste + ['ruby'] >>> liste ['java','c++',' PYTHON ','ruby'] Ayr ca listeler ters indistende okunabilir.

4 >>> liste[-1] 'ruby' Liste elemanlar aral k vererek de kullan labilir. Burada ilk eleman verilmezse 0 kabul edilir. >>> liste[1:3] ['c++',' PYTHON '] >>> liste[:2] ['java','c++'] >>> liste[2:] [' PYTHON ','ruby'] Listeler i in de baz fonksiyonlar vard r. Bunlara rnek olarak listenin sonuna eleman eklemek i in " (eleman)", bir eleman n listede ka tane bulundu unu d nd rmek i in PYTHON ile PROGRAMLAMAYA Giri 4 " (eleman)", iki listeyi toplamak i in " (liste)", herhangi bir eleman n indisini d nd rmek i in " (eleman)", belli bir yere eleman eklemek i in " (indis,eleman)", listenin son eleman n ekmek i in " ()", herhangi bir eleman listeden karmak i in " (eleman)", listeyi ters evirmek i in " ()", listeyi s ralamak i in " ()", listenin uzunlu unu d nd rmek i in " ()" fonksiyonlar verilebilir. Burada "liste" olu turulan listenin ismi, "eleman" ise listedeki eleman temsil eder. rne in "liste" olarak yular daki rneklerde tan mlad m z liste de i keni, eleman olarak da ' PYTHON ' verilebilir.

5 Rnek bir fonksiyon a r s : >>> ('java') 1 olabilir. p(tuple) De i kenleri: T pleri i eri i de i tirilemeyen listeler olarak d nebilirsiniz. Parantez () kullanarak tan mlan rlar. >>> diller = ('c',' PYTHON ') >>> diller[1] ' PYTHON ' zl k(dictionary) De i kenleri: PYTHON programc lar i in s zl kler ok avantaj sa lar ve programc lar taraf ndan s kl kla kullan l r. Bu tipte anahtar-s zc k ikilisi vard r ve u ekilde tan mlan rlar: sozluk={anahtar1:s zc k1,anahtar2:s zc k2,..} >>> sozluk = {'1':'fen','2':'t rk e'} >>> sozluk {'1': 'fen', '2': 't\xc3\xbcrk\xc3\xa7e'} >>> sozluk['1'] 'fen' Burada 't\xc3\xbcrk\xc3\xa7e' sizi korkutmas n PYTHON t rk e karakterleri yle alg l yor. Yoksa t rk e karakter deste i var. S zl kler i in de baz fonksiyonlar vard r. Bunlara rnek olarak anahtarlar d nd ren " ()", herhangi bir anahtar n s zl kte olup olmad n tespit eden varsa 1 yoksa 0 d nd ren " (sozcuk)", s zc kleri d nd ren " ()", b t n sozl d nd ren " ()", s zl kteki bir anahtara kar l k gelen s zc getiren " (anahtar)", s zl kteki bir anahtara kar l k gelen s zc silen " (anahtar)", t m s zc kleri silen " ()", bir s zl e ba ka bir s zl ekleyen " (sozluk2)" fonksiyonlar verilebilir.

6 (files): Dosyalar a mak i in open() fonksiyonu kullan l r: dosyade i keni=open(dizin,mod) PYTHON ile PROGRAMLAMAYA Giri 5 Dosya okuma(r), yazma(w), ekleme(a), okuma ve yazma(rw) olmak zere 4 modda a labilir. Baz dosya i lemleri unlard r: * write(x) : x s zc dosyaya yaz l r. * readline() : Dosyadan bir sat r okunur. * readlines() : Dosyan n tamam bir listeye okunur. * read(x) : Dosyadan x byte okuma yap l r. * read() : Dosyan n tamam bir s zc e okunur. * close() : Dosya kapat l r. u ekilde bir i lem yap labilir: >>> dosyam = open('. ', 'w') >>> ("ilk sat r\n") >>> ("ikinci sat r\n") >>> () Bu i lemden sonra PYTHON n al t r ld dizinde vi edit r yle dosyaya bak ld nda i lemlerimizi test etmi oluruz. $vi . ilk sat r ikinci sat r DEY MLER ILA TIRMA OPERAT RLER PYTHON >, >=, <, <=, ==, <>(e it de il) gibi kar la t rma operat rlerini ger ekler. Ayr ca lojik i lemler olarak "and(lojik ve)", "or(lojik veya)" ve "not(lojik de il)" deyimlerine sahiptir.

7 F DEY MLER if kar la t rma: do ruysa al t r lacak blok elif kar la t rma: y r t lecek blok else: y r t lecek blok Yukar daki kullan m ekline sahip "if" deyimi istenen ko ula g re istenen kod par as n n al t r lmas n sa lar. not: PYTHON da girintileme zorunludur. Yani ayn blokta olan kodlar ayn hizada yer almal d r. if, for vb. bloklara girildi inde programc girintileme yapmak zorundad r. E er girintileme yap lmazsa program hata verir. rnek: >>>if 5 > 3: .. print "5 3 ten b y kt r." ..elif 5 < 3: PYTHON ile PROGRAMLAMAYA Giri 6 .. print "5 3 ten k kt r." ..else: .. print "5 3 e e ittir." 5 3 ten b y kt r >>> "for" ve "while" DEY M Bu deyimlerin kullan m ekli yledir; for degisken in liste: y r t lecek blok while kar la t rma: y r t lecek blok "for" ve "while" deyimleri C ve C++ taki "for" ve "while" deyimlerinden biraz farkl d r. Hatta daha yeteneklidir.

8 Nk listeler, t pler, s zl kler zerinde d ng yapabilme yetene i vard r. rnekle daha iyi g relim: >>> a = ['kedi', 'kurt', 'aslan'] >>> for x in a: .. print x, len(x) .. kedi 4 kurt 4 aslan 5 Burada "in" kullan l r. Yani "in" den sonra gelen nesnenin i indeki elemanlar d ng sel bir bi imde x e atan r ve i lemler yap l r. "range()" Fonksiyonu "range()" fonksiyonu belli bir aral kta tamsay lardan olu an bir liste olu turmak i in kullan l r. Genel yap s yledir; range(ba lang , biti , arti miktar ) Burada ba lang verilmezse 0 dan ba lar. Art miktar verilmezse varsay lan de er 1 dir. rnekle g relim: >>> for i in range(3,5): .. print i .. 3 4 "break" VE "continue" DEY MLER "break" C de oldu u gibi bulundu u for veya while deyiminden kmay sa lar. "continue" ise ba l bulundu u d ng n n bir sonraki a amas na ge ilmesine neden olur. rnekle g relim: PYTHON ile PROGRAMLAMAYA Giri 7 >>> for n in range(2, 10).

9 For x in range(2, n): .. if n % x == 0: .. print n, 'e ittir', x, '*', n/x .. break .. else:.. print n, 'asal say d r' .. 2 asal say d r 3 asal say d r 4 e ittir 2 * 2 5 asal say d r 6 e ittir 2 * 3 7 asal say d r 8 e ittir 2 * 4 9 e ittir 3 * 3 "pass" DEY M "pass" deyimi bir ey yapmaz. Daha nceden PYTHON ' da girintileme zorunludur demi tik. Bu girintilemeyi sa lamak i in e er deyime ait blokta bir i lem yapmayacaksak "pass" deyimini kullan r z. YONLAR YON TANIMLAMA PYTHON da fonksiyonlar n genel tan mlama ekli yledir: def fonksiyon_ad (parametreler): y r t lecek blok Burada fonksiyon tan mlamas yap l r. Yani bu bir y r tme eylemi de ildir. Fonksiyonu y r tmek i in o fonksiyona a r yapmak gerekir. rneklerle g relim: >>> def fib(n): .. """n ye kadar olan Fibonacci serisini yaz""" .. a, b = 0, 1 .. while b < n.

10 Print b, .. a, b = b, a+b #ayn anda ikili atama yap labilir .. >>> fib(2000) 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 Burada bu fonkison C de bildi imiz "void" d nd ren tipte bir fonksiyondur. Ayr ca bir de er d nd ren fonksiyonlar da yaz labilir: >>> def fib2(n): .. result = [] .. a, b = 0, 1 .. while b < n: .. (b) .. a, b = b, a+b .. return result .. PYTHON ile PROGRAMLAMAYA Giri 8 >>> f100 = fib2(100) # fonksiyon a r s >>> f100 # fonksiyonun kt s [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] Fonksiyon parametrelerine varsay lan de erler y klenebilir. Bu ekilde ilgili parametre verilmedi inde varsay lan de er kabul edilir. rnekle g relim: def ask_ok(prompt, retries=4, complaint='Yes or no, please!'): while True: ok = raw_input(prompt) if ok in ('y', 'ye', 'yes'): return True if ok in ('n', 'no', 'nop', 'nope'): return False retries = retries - 1 if retries < 0: raise IOError, 'refusenik user' print complaint Burada kullan c dan "yes" veya "no" girmesi isteniyor.