Python Aslı Ergün Nasıl Çalıştırırım? • Komut satırından python yazın. Ve python ortamına geçin. Interpreter-Etkileşimli % python >>> 3+3 6 • Komut satırından komut calısıtırabilirsiniz. • Ortamdan çıkmak için control-D veya exit() yazabilirsiniz. Python programı yazmak • Programı aşağıdaki gibi derleriz: % python fact.py • Ama dosyayı once calısabilir hale getiririz: – Programımızın ilk satırına bunu yazarız: #!/usr/bin/python – Calısma modunu calıstırılabilir hale getiririz: % chmod a+x fact.py – Aşağıdaki gibi calıstırırız. % ./fact.py Hello Python • #!/usr/bin/python • print "Hello, Python!"; Yorum Ve Açıklama • # işareti kullanarak acıklam ayapabilirsiniz: • # Program Adı: fact.py • # işaretini bazı komutları geçici olarak saklamak içinde kullanabilirsiniz. • #!/usr/bin/python • # Program Tanım • print "Hello, Python!"; # komut acıklama Değişkenler • Degisken adları bir sayı ile baslayamaz. • Degisken adları aritmetik isaretle baslayamaz • Degisken adları ya bir alfabe harfiyle ya da _ isaretiyle baslar. • Sorun yasamamak için değisken adlarında turkce karakter kullanılmaz • Program komut kelimeleri kullanılmaz. Print • • • • • • • Print (“bunları ekrana yazar”); toplam=23; Print(“toplam= “, toplam) Print ile ekrana yazarken: 1. Tek tırnak (‘ ‘) 2. Çift tırnak (” ”) 3. Üç tırnak (“”” “””) kullanabilirsiniz. Escape –Kaçış Karakterleri • print(“ortalama \n “) List - Diziler • • • • • • • • a = ['sema', 'erol', ‘veli', ‘ayse’ ] b= [40, 23, 100, 234] b[2] = b[2] + 23 b[0:2] = [1, 12] # aralıkta değiştirme b[0:2] = [] #aralıkta silme a[1:1] = [8, 77] #ekleme a[:] = [] #dizi temizleme len(a) #dizi boy İçiçe listeler • • • • • >>> q = [2, 3] >>> p = [1, q, 4] >>> p[1] [2, 3] >>> p[0] Karşılaştırmalar • • • • • • == != < > <= >= Eşittir Eşit Değil Kucuktur Buyuktur Kucuk Eşit Buyuk eşit. If • if <şartlar>: • komutlar • else: • komutlar İf-else must be a Boolean expression İf-elif-else • if <şartlar>: • komutlar • elif <şartlar>: • komutlar • else: • komutlar Mantık Baglaçları Operatörler Switch – Seçmeli Dizi Yapısı ile • • • • • • • • • • • def zero(): print "You typed zero.\n" • • • • • • • • • • • • options = {0 : zero, 1 : sqr, 4 : sqr, 9 : sqr, 2 : even, 3 : prime, 5 : prime, 7 : prime, } def sqr(): print "n is a perfect square\n" def even(): print "n is an even number\n" def prime(): print "n is a prime number\n“ secim =4 Options[secim] Switch – Seçmeli Dizi Yapısı ile • • • • • • def first_case(): print "first" def second_case(): print "second" def third_case(): print "third" • mycase = { • 'first': first_case, #do not use () • 'second': second_case, #do not use () • 'third': third_case #do not use () • } • myfunc = mycase['first'] Döngüler • For <değişken> in <aralık>: • for x in range(0, 3): • print "We're on time %d" % (x) For • for n in range(2, 10): • for x in range(2, n): • if n % x == 0: • print n, 'equals', x, '*', n/x • break • else: • # Asal Sayı bulur • print n, ‘asal sayıdır' ... Dizilerde For • for x in a[:]: • if x < 0: a.remove(x) • # Measure some strings: • words = ['cat', 'window', 'defenestrate'] • for w in words: • print w, len(w) While • • • • • • # Fibonacci series: # ilk 2 eleman toplamı 3. verir a, b = 0, 1 while b < 10: print b a, b = b, a+b • while For-while karşılastırması Dongu Kesme a while True loop with a delayed exit loop’s termination condition causes an exit from the loop Atamalar Attırmalar Fonksiyonlar • • • • • • • • • def fib(n): # write Fibonacci series up to n """Print a Fibonacci series up to n.""" a, b = 0, 1 while a < n: print a, a, b = b, a+b # Now call the function we just defined: fib(2000) Fonksiyonlar Fact.py #! /usr/bin/python def fact(x): if x == 0: return 1 return x * fact(x - 1) print "\nN fact(N)" print "---------” for n in range(10): print n, fact(n) Lambda –Adsız Fonksiyon Kullanımı-1 • >>> def f (x): return x**2 ... >>> print f(8) 64 >>> >>> g = lambda x: x**2 >>> >>> print g(8) 64 Lambda –Adsız Fonksiyon Kullanımı • • • • • result = { 'a': lambda x: x * 5, 'b': lambda x: x + 7, 'c': lambda x: x - 2 }[value](x) • >>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27] >>> >>> print filter(lambda x: x % 3 == 0, foo) [18, 9, 24, 12, 27] >>> >>> print map(lambda x: x * 2 + 10, foo) [14, 46, 28, 54, 44, 58, 26, 34, 64] >>> >>> print reduce(lambda x, y: x + y, foo) 139 Sınıflar • • • • • • • • • • class Employee: # Common base class for all employees empCount = 0 def __init__(self, name, salary): self.name = name self.salary = salary Employee.empCount += 1 def displayCount(self): print "Total Employee %d" % Employee.empCount def displayEmployee(self): print "Name : ", self.name, ", Salary: ", self.salary • • emp1 = Employee("Zara", 2000) emp2 = Employee("Manni", 5000)