Python

advertisement
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)
Download