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]
Karşılaştırmalar == Eşittir != Eşit Değil < Kucuktur > Buyuktur <= Kucuk Eşit >= Buyuk eşit.
If if <şartlar>: komutlar else:
İf-else must be a Boolean expression
İf-elif-else if <şartlar>: komutlar elif <şartlar>: else:
Mantık Baglaçları
Operatörler
Switch – Seçmeli Dizi Yapısı ile def zero(): print "You typed zero.\n" 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“ options = {0 : zero, 1 : sqr, 4 : sqr, 9 : sqr, 2 : even, 3 : prime, 5 : prime, 7 : prime, } 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 a while True loop with a delayed exit
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)