PYTHON PROGRAMLAMA DİLİ



Benzer belgeler
PYTHON PROGRAMLAMA DİLİ

Python Programlama Dili Eğitimi

Print Komutu ile Değişkenleri Yazdırmak

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21

Python Programlama Dili

Python GELECEK. Barış Metin Linux Sistemleri. Python Programlama Dili

1 NEDEN PROGRAMLAMA ÖĞRENMELIYIZ?

Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur

Kaya Oğuz.

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

HSancak Nesne Tabanlı Programlama I Ders Notları

Python Programlama Dili

Mantıksal Kontrol ve Döngü Komutları

YAZILIM VE PROGRAMLAMA DİLİ. Donanım ve yazılım nedir? Yazılım nedir? Yazılım çeşitleri nelerdir? Programlama dili nedir

İnternet Programcılığı Öğr. Gör. Serkan AKSU PHP de Dizi-Değişkenler, Nesneler. Dizi Oluşturma. Tek Boyutlu Diziler

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu

1.1. Yazılım Geliştirme Süreci

Yukarıdaki kod aksi belirtilmediği sürece sürekli çalışır. Yani ekrana sürekli Bilgisayar çıldırdı! yazısı gelir. Ancak;

Programlama Dillerinde Kullanılan Veri Tipleri

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir

Bölüm 10: PHP ile Veritabanı Uygulamaları

JAVA DÖNGÜ DEYİMLERİ. For Döngüsü

Ardışık Veri Tipleri. Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları. *Kaynakça bölümünde verilen kaynaklardan derlenmiştir.

PROGRAMLAMA DİLİ (2009)

Nesne Yönelimli Programlama

Standart Veri Tipleri

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

JAVASCRIPT JAVASCRIPT DİLİ

LABORATUVAR ÇALIŞMASI 1 - Python a Giriş

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Python Programlama Dili

if (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

KISIM I: TEMEL KONULAR 1

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

=~ Metodu 92 Karakter Sınıfları 94 sub ve gsub metotları 101 Hızlı Tekrar 102 Kontrol Noktası 103 Düello 106 Sonraki Bölümde 109

PHP'ye Giriş Türkiye PHP Grubu - Linux Şenlikleri PHP Eğitim / Tanıtım Seminerleri Ankara, 11 Mayıs 2006 Hidayet Doğan <hdogan@hido.

Programlama Dili Prensipleri. Lab Notları 8 ve 9

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Python, Guido Van Rossum adlı Hollandalı bir programcı tarafından yazılmış bir programlama dili.

Python Programlama Dili

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI

Girdi Çıktı İşlemleri

ile Python gibi kod yazma

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

PYTHON 3. Python Nedir? Yrd. Doç. Dr. Murat Olcay ÖZCAN

Aşağıdaki programı inceleyip ekrana ne yazacağını söyleyebilir misiniz?

PHP I PHP I. E. Fatih Yetkin. 26 Eylül 2011

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

ALGORİTMA VE PROGRAMLAMA II

Dekleratif Programlama. Örnek : Aile Ağacı. SWI-Prolog. Prolog Dekleratif programlama dili

YZM 2105 Nesneye Yönelik Programlama

Python Programlama Dili

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

Akış Kontrol Mekanizmaları

Python ile Programlamaya Giris

İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

Ders 4: Diziler (Arrays( Arrays) barisgokce.com

BİL-142 Bilgisayar Programlama II

Burada a değişkeninin türü integer olarak verildi. Peki biz bu ifadeyi tırnak içerisinde yazarsak ne olur?

Dr. Fatih AY Tel: fatihay@fatihay.net

1. LabVIEW ile Programlama

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN

C Programlama Dilininin Basit Yapıları

İçindekiler. KISIM 1 Temel Programlama 1. Bölüm 1: Programlama ve Python 3. Bölüm 2: Değişkenler, İfadeler ve Deyimler 13. Giriş 4

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü

Starboard dosya aç dosyayı seçerek Andropi teach menu içe aktar dosyayı seçiyoruz nesne olarak seç

NB Ekran Seri Port Üzerinden Veri Okuma/Yazma. Genel Bilgi Protokol Oluşturma Veri Okuma Veri Yazma

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

Dinamik Kodlama. [X] [X] Yeni Fonksiyon

GtkD ile Görsel Programlama

Özgür Yazılımlarla Web Programlama. Özlem Özgöbek

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Açık Kaynak Kodlu ve Özgür Matematik Yazılımı SAGE

BBS515 Nesneye Yönelik Programlama. Ders 3 Zümra Kavafoğlu

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

Kümeler. Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları. *Kaynakça bölümünde verilen kaynaklardan derlenmiştir.

Lambda İfadeleri (Lambda Expressions)

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi UYGULAMA KAYNAKLARI. BLM401 Dr.Refik SAMET

Internet Programming II

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

KONTROL YAPILARI JAVADA UC TURLU KONTROL YAPISI VARDIR BUNLAR İF ELSE İF ELSE İF SWİTCH YAPILARIDIR. IF ELSE YAPISI if (deger) { }else {

İnternet Programcılığı Dersi 2.Dönem Ders Notu

Python Programlama Dili

BİL-142 Bilgisayar Programlama II

Giriş. Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları. *Kaynakça bölümünde verilen kaynaklardan derlenmiştir.

Internet Programming II

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

Özyineleme (Recursion)

Fatura Dinamik Kodlama İyileştirmeleri

Transkript:

PYTHON PROGRAMLAMA DİLİ Ege Bilmuh GNU/Linux ve Özgür Yazılım Çalışma Grubu http://tinyurl.com/ozgurbilmuh Enes Ateş enes@enesates.com 26.04.2012

Nedir bu Python? Adını Monty Python's Flying Circus adlı diziden almıştır. Özgür yazılımdır. Yorumlanabilir bir dildir. Basit sözdizimlidir. Girintiyi sever, süslü parantezlerden kaçınır. Kodları okuması rahattır. Tip bağımsızdır. Birimseldir (Modüler). Kodun yeniden kullanımını kolaylaştırır. Birçok alanda kullanılabilir. Küçük betikler, büyük projeler.

Başka Nedir? Fonksiyonel, prosedürel, ve nesne yönelimli programlama paradigmaları arasında rahat geçiş yapmayı sağlar. Yüksek seviye ile düşük seviye programlama arasında dengededir. Tüm platformlarda çalışır (GNU/Linux, Windows, Mac OS vb.). Kod belgelendirilebilirdir (epydoc, doc string). Düzinelerce modül içeren oldukça kapsamlı standart kütüphanesi vardır. Kısaca Piller dahildir. Listeleri, demetleri, kümeleri, sözlükleri, karakter dizilerini vb. bir çok veri tipini destekler.

Kimler Kullanır? Google, Yahoo, CERN, NASA, Apache, Ubuntu, Fedora, Gentoo, Pardus, Blender, Maya, GIMP, Inkscape, Django, BitTorrent, Çoğu GNU/Linux dağıtımında öntanımlı bileşendir.

Python'ı Çalıştırmak GNU/Linux dağıtımlarında: Genellikle kurulu geldiği için uçbirim (terminal) üzerinden erişilebilir. İstenirse farklı bir geliştirme ortamı kullanılabilir (Vim, Geany, PyDev). Uçbirimden python komutu girildikten sonra çalışılabilir haldedir. Windows ortamında: www.python.org/download adresinden uygun sürüm indirilip kurulur. Daha sonra Python YOL'a (PATH) kurulu olduğu dizin değeriyle eklenir. Ayrıntılı bilgi: tinyurl.com/pythonyol Komut satırından python komutu girildikten sonra çalışılabilir haldedir. Kodlar py uzantılı bir dosyaya yazılıp python dosyaadı.py komutu ile çalıştırılabilir. Türkçe karakter sorununu çözmek için aşağıdaki satırlar dosyanın başına eklenmelidir: GNU/Linux: # -*- coding: utf-8 -*- Windows: # -*- coding: cp1254 -*-

Merhaba Python! İlk kodumuzu klasik bir örnekle yazalım: print Merhaba Python! Farklı denemeler yapalım: print Ben Python, Monty Python \n * 5 print 'Leyla ile Mecnun\'un son bölümü' 22 * 30 ya da print 22 * 30 print 22 + 30 print 22 + 30 # Karakterleri birleştirir. 5 ** 3 # 5 sayısının 3. kuvvetini alır. # işareti, Python'da yorum satırı eklemek için kullanılır.

Değişkenler Python'da değişkenlerin tipini tanımlamaya gerek yoktur. n = 5 print n n * 2 Karakter dizileri açısından inceleyelim: a = 5 b = 3 print a, sayısı, b, sayısından büyüktür. print %s ile %s çarpılırsa %s elde edilir. %(a, b, a*b)

Kullanıcıyla İletişim Kullanıcıdan girdi almak için: a = raw_input( Lütfen bir sayı giriniz: ) b = raw_input( Lütfen başka bir sayı daha giriniz: ) print a + b a = input( Lütfen bir sayı giriniz: ) b = input( Lütfen başka bir sayı daha giriniz: ) print a + b raw_input fonksiyonu değişkenleri karakter dizisi (string) olarak, input fonksiyonu ise tamsayı (integer) olarak algılar.

Koşullar Python'da koşullar if, else ve elif komutları ile sağlanır. sayi = input("lütfen bir sayı giriniz: ") if sayi > 0: print "Sayı 0'dan büyüktür." elif sayi == 0: print "Sayı 0'dır." else: print "Sayı 0'dan küçüktür." Girintilere Dikkat!

Döngüler while döngüsü cevap = raw_input( Python mu Java mı? ) while cevap!= Python : print Yanlış cevap! cevap = raw_input( Python mu Java mı? ) for döngüsü for i in range(1, 10, 2): # 2 artış miktarı için kullanılmıştır, seçimlidir. print i, mumdur for harfler in u Özgürlük : # u: Türkçe karakter sorununu çözmek için print harfler

Fonksiyonlar Python'da fonksiyonlar def parçacığı ile tanımlanır: def topla(a = 3, b = 4): carp(a + b) def carp(c): print 2 * c topla(14, 6) topla(5, ) İstenirse değişkenlere başlangıç değerleri verilebilir. def fib(n): a, b = 0, 1 while a < n: a, b = b, b+a print a, fib(10)

Hata Yakalama try, except: try: ilk = int(raw_input("bölme işlemi için ilk sayıyı girin: ")) ikinci = int(raw_input("şimdi de ikinci sayıyı girin: ")) sonuc = float(ilk) / ikinci print sonuc except ZeroDivisionError: print "Lütfen sayıyı 0'a bölmeye çalışmayın!" except ValueError: print "Lütfen harf değil, sayı girin!" except (ZeroDivisionError, ValueError): pass # Hata varsa hiçbir şey yapma

Listeler (Lists) Listeleri başka dillerdeki dizilere benzetebiliriz. liste = [ GNU, Tux, Gnome, 22, 30] liste # Listenin elemanları ekrana yazdırılır. len(liste) # Listedeki eleman sayısını verir. liste[2] # Listedeki 3. elemanı yani Gnome'u ekrana yazdırır. liste.append( Octave ) # Listenin sonuna bir eleman ekler. liste.insert(2, Sage ) # 2, elemanın listede yerleşeceği sıradır. liste.remove( Tux ) # Listeden Tux adlı ilk elemanı çıkarır. liste.pop(2) # Listeden 3. elemanı siler ve ekrana yazdırır.

Listeler (Devam) Listeler üzerinde yapılabilecek diğer işlemler: yeni_liste = [ Vim, GIMP, LibreOffice, Clementine ] liste.extend(yeni_liste) # Eski listeye yeni listeyi ekler. ya da liste = liste + yeni_liste liste.index( GIMP ) # GIMP elemanının kaçıncı sırada olduğunu verir. liste.sort() # Listedeki elemanları alfabetik olarak sıralar. liste.reverse() # Listedeki elemanların sırasını ters çevirir. liste.count( Vim ) # Elemanın listede kaç kez geçtiğini verir. liste[1:3] # Listedeki 2. ve 3. elemanları verir (GIMP ve LibreOffice).

Demetler (Tuples) Listelerden farkı üzerinde oynama yapılamamasıdır. demet = Özgür, Yazılım, 22, 30 ya da demet = ( Özgür, Yazılım, 22, 30) demet = ( Free Software,) # Tek öğe için virgül koymak gerekli. Yoksa demet değişkeninin tipi karakter dizisi olarak algılanır. aile = Anne, Baba, Kardeşler # demetleme (packing) a, b, c = aile # demet çözme (unpacking) Değişikliğe izin vermedikleri için listelerden daha güvenlidirler. Ayrıca listelere göre daha hızlı çalışırlar.

Sözlükler (Dictionaries) Anahtar ve değer arasında bağ kuran bir veri tipidir. ilceler = { Urla : İzmir, Harput : Van, Şile : İstanbul } ilceler[ Urla ] # İzmir değerini ekrana yazdıracaktır. ilceler[ Bandırma ] = Balıkesir # Sözlüğe yeni bir eleman ekler. ilceler[ Harput ] = Elazığ # Elemanın değerini değiştirir, düzeltir. del ilceler[ Şile ] # Elemanı sözlükten siler. ilceler.clear() # Sözlükteki tüm elemanları siler. ilceler.keys() # Sözlükteki anahtarları verir (Urla, Harput vb.) ilceler.values() # Sözlükteki değerleri verir (İzmir, Elazığ vb.) Sözlükler uzun if-elif-else bloklarından kurtulmayı sağlar.

Kümeler (Sets) Kümeler, matematikten bildiğimiz küme kavramının sahip olduğu bütün özellikleri taşır (kesişim, birleşim, fark vb.) kume = set(["elma", "armut"]) # liste, demet, sözlük de ekleyebiliriz. kume = set("adana") for i in kume: print i # Çıktı: a d n. Çünkü kümelerde her elemandan bir tane vardır. yedek = kume.copy() # Kümenin tüm içeriğini yedek kümesine kopyalar. kume.add( izmir ) # izmir elemanını kümeye ekler. kume.clear() # Kümenin tüm elemanlarını siler. kume.discard( adana ) # adana elemanını kümeden siler. kume.remove( adana ) # discard'tan farkı eleman yoksa hata verir.

Kümeler (Devam) Birleşim, kesişim, fark, alt küme, kapsama gibi küme işlemleri: k1 = set([1, 2, 3]) k2 = set([3, 10, 2, 1]) k2.difference(k1) # k2 kümesinin k1 kümesinden farkı -> set([10]) k1 k2 ya da k2 k1 şeklinde de fark işlemi yapılabilir. k1.intersection(k2) # k1 ile k2 kümelerinin kesişimi -> set([1, 2, 3]) k1 & k2 ya da k2 & k1 şeklinde de kesişim işlemi yapılabilir. k1.issubset(k2) # Çıktı: True. k1, k2'nin altkümesidir. k2.issuperset(k1) # Çıktı: True. k2 kümesi k1 kümesini kapsar. k1.union(k2) # k1 ve k2 kümelerinin birleşimi -> set([1, 2, 3, 10] k1 k2 ya da k2 k1 şeklinde de birleşim işlemi yapılabilir.

Gelecek Hafta Modüller Dosya İşlemleri Sınıflar Grub-on (Grub Menü Düzenleme) ve Github

Kaynaklar http://kodveus.blogspot.com/search?q=python http://www.istihza.com/py2/icindekiler_python.html http://mesutcankurt.com/ab2012/ http://tr.wikipedia.org/wiki/python_%28programlama_dili%29 http://en.wikipedia.org/wiki/python_%28programming_language%29