Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

Python Programlama Diline Giriş - Güncelleme 2018

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Próximo SlideShare
Python programlama
Python programlama
Cargando en…3
×

Eche un vistazo a continuación

1 de 283 Anuncio

Más Contenido Relacionado

Presentaciones para usted (20)

Anuncio

Más reciente (20)

Anuncio

Python Programlama Diline Giriş - Güncelleme 2018

  1. 1. Python Programlama Diline Giriş (SD0194) Murat KARA 2018
  2. 2. İçerik (Hafta/Konu) 1. Tanışma, Giriş, Temel Bilgi ve Kavramlar 2. Python programlama dili nedir? Neden Python? Nasıl Çalışır? 3. Python 2x ve 3x sürümleri ve Python kurulumu, ilk programımız 4. Değişkenler 5. İşleçler ve Koşullar 6. Döngüler 7. Karakter Dizileri 8. Ara Sınav (Vize) 9. Dosya İşlemleri 10. Fonksiyonlar 11. Listeler ve Demetler 12. Sözlükler ve Kümeler 13. Nesne Tabanlı Programlama 14. Web Tabanlı Programlama 15. Hata Yakalama-Ayıklama ve hatalar 16. Genel Tekrar ve Finale Hazırlık http://www.muratkara.com/python
  3. 3. TANIŞMA, GİRİŞ, TEMEL BİLGİ VE KAVRAMLAR 1. Hafta
  4. 4. Temel Terimler ve Kavramlar • Program • Programlama Dili – Seviyeler (Düşük, Yüksek) • Programlama – Algoritma – Kaynak Kod (Açık Kaynak) – Derleme – Yorumlama – Debug • IDE • GUI
  5. 5. Terimler / Kavramlar • Program: Bilgisayara bir hesaplamayı nasıl yapacağını söyleyen bir dizi yönergeye denir. Veya • Belirli bir işlemi/işlemleri gerçekleştirebilmek için verilen komut ya da komutlar bütünüdür.
  6. 6. Terimler / Kavramlar • Programlama Dili: İstenilen hesaplamaları yapmak için, elde edilen veriyi saklamak, girdi/çıktı aygıtlarına veri gönderme/alma gibi işlemleri yapmak için kullanılan dildir. • Programlama dillerinin belirli yazım kuralları (Syntax) vardır.
  7. 7. Terimler / Kavramlar • Seviye: Bir programlama dilinin insan algılamasına olan yakınlığının bir ölçüsüdür. • Programlama Dilleri Seviyelerine Göre; – Çok Yüksek Seviyeli – Yüksek Seviyeli – Orta Seviyeli – Alçak Seviyeli – Makine Dilleri şeklinde sınıflandırılırlar.
  8. 8. Terimler / Kavramlar • Programlama: Bilgisayarın donanıma nasıl davranacağını anlatan, bilgisayara yön veren komutlar, kelimeler, aritmetik işlemlerdir. • Bir programlama dilinde yapılır. • Yazılan kaynak kod genellikle bir derleyici ve yorumlayıcı yardımıyla belirli bir sistemde çalıştırılabilir hale getirilir.
  9. 9. Terimler / Kavramlar • Algoritma: Belirli bir sorunu çözmek için izlenecek yol. • Akış Diyagramı(Şeması): Yapılması gereken işlemlerin adımlarını şema ile gösterilen grafiktir. (FlowChart)
  10. 10. Terimler / Kavramlar
  11. 11. Terimler / Kavramlar • Açık Kaynak: (Open Source) Bir bilgisayar yazılımının makina diline dönüştürülüp kullanımından önceki, programcılar tarafından okunur, anlaşılır, yeni amaçlara uygun değiştirilebilir hâlinin gizli tutulmayıp açık, yani okunabilir hâlde kamuyla paylaşılıyor olmasına verilen isimdir. • Kaynak kodu isteyen herkese açık olan yazılımdır. • Kullanıcıya değiştirme özgürlüğü sağlar.
  12. 12. Özgür Yazılım (Free software) Kullanıcısına; • Çalıştırma, • Kopyalama, • Dağıtma, • İnceleme, • Değiştirme ve • Geliştirme özgürlükleri tanıyan yazılım türüdür.
  13. 13. Terimler / Kavramlar • Derleyici(Compiler): Kaynak dili yüksek seviyeli bir dil, amaç dili alçak seviyeli(makine) bir dil olan çevirici programlara denir. (Kaynak koddan, donanıma veya işletim sistemine uygun başka bir çalışan program oluşturmaktır.) • Yorumlayıcı(Interpreter): Kaynak kodların satır satır ele alınarak doğrudan çalıştırılmasıdır.
  14. 14. Derleyici / Yorumlayıcı • Kaynak Kod -> Derleyici -> Çalışabilir Program • Kaynak Kod -> Yorumlayıcı -> Çalışan Kodlar
  15. 15. Terimler / Kavramlar • Debug: Mantıksal hataları giderebilmek ve yazılımdaki bug'ları (hataları) bulabilmek için yapılan işlemin adıdır. • Genellikle yazılan programın adım adım ve denetim altında çalıştırılmasıdır.
  16. 16. Terimler / Kavramlar • IDE (Integrated Development Environment) • Tümleşik Geliştirme Ortamı • IDE bilgisayar programcılarının hızlı ve rahat bir şekilde program geliştirebilmesi amacıyla içerisinde birçok araç barındıran, programlama diline göre sözdizimi renklendirmesi yapabilen kod yazım editörüdür.
  17. 17. Terimler / Kavramlar • GUI: (Graphical User Interface) • Grafiksel Kullanıcı Arayüzü • Bilgisayarlarda işletilen komutlar ve bunların çıktıları yerine simgeler, pencereler, düğmeler ve panellerin tümünü ifade etmek için kullanılan genel addır.
  18. 18. Programlama Dillerinin Sınıflandırılması • Genel özelliklerine göre; – Temel – Veriye Yönelik – Nesneye Yönelik • Seviyelerine göre; – Çok Yüksek Seviyeli – Yüksek Seviyeli – Orta Seviyeli – Alçak Seviyeli – Makine Dilleri • Uygulama Alanlarına göre; – Genel Amaçlı – Sistem Programlama – Bilimsel Mühendislik – Veritabanı – Yapay Zeka
  19. 19. Python • Genel amaçlı, • Nesne yönelimli, • Yüksek seviyeli, • Yorumlamalı, • Modüler, • Etkileşimli, Bir programlama dilidir.
  20. 20. Programlama Dillerinin Değerlemesi • İfade Gücü (Expressivity) • Veri Türleri ve Yapıları (Data Types and Structures) • Giriş/Çıkış Kolaylığı (Input/Output Facilities) • Taşınabilirlik (Portability) • Alt programlama Yeteneği (Modularity) • Verimlilik (Efficiency) • Okunabilirlik (Readability) • Esneklik (Flexibility) • Öğrenme Kolaylığı (Pedagogy) • Genellik (Generality) • Yapısallık (Support for Structural Programming) • Nesne Yönelimlilik (Object Orientation)
  21. 21. https://octoverse.github.com/
  22. 22. PYTHON PROGRAMLAMA DİLİ NEDİR? NEDEN PYTHON? NASIL ÇALIŞIR? 2. Hafta
  23. 23. Python https://www.python.org
  24. 24. Python Tanıtım Kartı Geliştirici İlk Tasarımcı İlk çıkış tarihi Lisansı İşletim Sistemi Etkilendikleri Etkiledikleri Güncel sürümü Dosya uzantıları Web sitesi  Python Yazılım Vakfı  Guido van Rossum  20 Şubat 1991  Python Yazılım Vakfı Lisansı (PSF)  Çapraz platform (Win, Linux, Mac)  C, Haskel, Modula-3, Perl, Java, Lisp  D, Cobra, Falcon, Ruby, Go, JavaScript  3.7.0  .py, .pyw, .pyc, .pyo, .pyd  www.python.org
  25. 25. Python Adı? Okunuşu? • Python • «Piton» • «Paytın» • «Pitın» • Komedi grubu Monty Python ‘a atıfla Guido tarafından Python olarak adlandırılmıştır. • Monty Python'un Uçan Sirki (Monty Python's Flying Circus) • İngiliz eskiz komedi dizisidir. • Monty Python Komedi grubu. http://www.montypython.com
  26. 26. Python Programlama Dili • Yorumlamalı, etkileşimli, nesne yönelimli, yüksek seviyeli bir dildir. • Guido van Rossum tarafından geliştirilmeye başlanmıştır. • İlk olarak Şubat 1991 de (v0.9.0) ile başlandığında Modula-3 den ödünç modül sisitemi kullanılmıştır.
  27. 27. Guido van Rossum • Hollandalı bir bilgisayar programcısıdır. • Amsterdam Üniversitesi mezunu. • Amerika Kaliforniya’da yaşıyor. • Google’da çalıştı. (2005-2012) • Halen Dropbox’da çalışıyor. (2013-ten günümüze) • Kişisel sitesi: https://gvanrossum.github.io/
  28. 28. Guido / Python • Guido van Rossum: Welcome to Python Programming • https://www.youtube.com/watch? v=SdH8fI1aNZA • Guido Van Rossum : Design of Computer Programs • https://www.youtube.com/watch? v=bDo18m-uOi8
  29. 29. Neden Python? (Artıları) Net ve kolay okunabilen yazımı Güçlü ifade yeteneği Modüler yapısı Kolay anlaşılır nesne tabanlı programlama özellikleri Çalışma esnasında objelerin özelliklerini inceleyebilme imkanı Exception tabanlı hata yönetimi Çok yüksek seviye dinamik veri yapıları Çok geniş kütüphaneleri
  30. 30. Python Logo https://svn.python.org/www/branches/rest2web/beta.python.org/resources/docs/slideshow/s5.html Just von Rossum
  31. 31. Python Yazılım Vakfı (PSF) • Python Yazılım Vakfı (Python Software Foundation, kısaca PSF) 6 Mart 2001 tarihinde Python programlama dilini korumak, geliştirmek ve uluslararası alanda gelişimine destek sağlamak amacıyla kurulmuş, kar amacı gütmeyen bir vakıftır. https://www.python.org/psf/
  32. 32. Python Nerelerde? Kullananlar • Google • Yahoo • Dropbox • Reddit • NASA • CERN • Wikipedia • ILM • ITA • … Gömülü Ürünler • 3dsMax • Blender • Cinema 4d • Lightware • Maya • FreeCAD • Nuke • GIMP • … İşletim Sistemleri • Linux • FreeBSD • MacOS • OpenBSD • AmigaOS • Anaconda (Ubuntu, RedHat, Fedora) • Portage (Gentoo paket yönetim sistemi) … LibreOffice, Yapay Zeka, Raspberry Pİ,..
  33. 33. Nasıl Çalışır?
  34. 34. Neler Yapılır? • Veri Analizi • Bilimsel • Sistem Yönetimi • Web Uygulamaları • Ağ ve Soket prog. • Web Tarama (Örümcek) • API oluşturma (REST) • Machine Learning Ne Yapamazsınız? • İşletim Sistemi yapamazsınız.. • Yüz Tanıma • Veri Madenciliği • Parola Decrypt • Oyun geliştirme • Http Sunucu • Yük Dengeleyici • Plugin geliştirmek • Modül ve Kütüphaneler
  35. 35. Güncel Sürümleri • Python 3.7.0 2018-06-27 • Python 3.6.6 2018-06-27 • Python 3.5.6 2018-08-02 • Python 3.4.9 2018-08-02 • Python 2.7.15 2018-05-01 • Python 3.6.5 2018-03-28 • Python 3.6.4 2017-12-19 • Python 3.6.3 2017-10-03 • Python 3.3.7 2017-09-19 • Python 2.7.14 2017-09-16 • Python 3.4.7 2017-08-09 • ….. • 2009 dan itibaren 3.0 • 95 ten fazla sürüm geliştirilmiş. (toplam 2 ve 3) • v3 • Python 3.7.0 2018-06-27 • Python 3.6.6 2018-06-27 • Python 3.6.4 2017-12-19 • v2 • Python 2.7.15 2018-05-01 • Python 2.7.14 2017-09-16 • Python 2.0.1 2001-06-22 https://www.python.org
  36. 36. IDE’ler Entegre Geliştirme Ortamı (Integrated Development Environment) • IDLE • Notepad++ • Text editor (hepsi) • SubLime • Thonny • PyCharm • Wing • Visual Studio (Python for Tools) • PyStudio • Komodo • Netbeans • Eclipse • …
  37. 37. IDLE • Python IDLE • Integrated Development and Learning Environment (Integrated Development Environment) • Entegre Geliştirme ve Öğrenme Ortamı (Entegre Geliştirme Ortamı) • Python için entegre bir geliştirme ortamıdır. (Etkileşimli Kabuk - interactive shell ) https://www.python.org
  38. 38. Notepad++ • GPL ile dağıtılan açık kaynak kodlu bir kaynak kod düzenleyicisidir. Scintilla metin editörü temel alınarak geliştirilmiştir. • Türkçe dahil 84 ayrı konuşma diline destek veren bir arabirimi vardır. • 73 ayrı programlama dilinin söz dizimi ve renklendirmesini yapabilen Windows ortamının en popüler editörüdür. https://notepad-plus-plus.org/
  39. 39. Thonny • Yeni başlayanlar için bir Python IDE’dir. • Adım adım ifade değerlendirmesi ve değişken değeri gibi bildirimleri ile kolay kullanımlıdır. • Tartu Üniversitesi (Estonya) tarafından MIT lisansı ile dağıtılan Windows, Linux, MacOS’da kullanılabilen bir IDE’dir. http://thonny.org
  40. 40. PyCharm • JetBrains firması tarafından ticari bir ürün olarak özellikle python dili için geliştirilen bir IDE’dir. • Kod analizi, grafiksel bir hata ayıklayıcı, entegre bir ünite test cihazı, sürüm kontrol sistemleri ile entegrasyon (VCSes) ve Django ile web geliştirme desteği sunar. • Windows, Linux ve MacOS da kullanılabilen Community(Topluluk) ve Ticari lisanslı iki sürümü vardır. https://www.jetbrains.com/pycharm/
  41. 41. https://www.jetbrains.com/pycharm/
  42. 42. Online Python Editörleri • https://www.python.org/shell • https://python.codnex.net/ • https://www.onlinegdb.com/online_python_compiler • http://pythonfiddle.com/ • https://repl.it/languages/python3 • http://www.compileonline.com/execute_python_online.php • https://www.remoteinterview.io/online-python-compiler • https://www.tutorialspoint.com/execute_python_online.php • http://www.pythontutor.com/visualize.html#mode=edit • https://www.jdoodle.com/python-programming-online • http://techmums.co/python.html • http://rextester.com/l/python3_online_compiler • http://www.muratkara.com/python/shell/ (çalışması için öncelikle python.org/shell girilmelidir.)
  43. 43. Haftaya Hazırlık (İndiriniz) • Python (3.7.0) – www.python.org python-3.7.0.exe ~25MB • Thonny – http://thonny.org/ thonny-2.1.22.exe ~11MB >>> Kurulum ve giriş haftaya..
  44. 44. PYTHON 2X VE 3X SÜRÜMLERİ, PYTHON KURULUMU 3. Hafta
  45. 45. Sürümleri • Güncel Sürümler; – Python 3.7.0 – Python 2.7.15 • Python 1991 den beri gelişimini devam ettiren bir dildir. Gelişim yeni sürümler ile devam etmektedir. • Python3, python2 ye göre çok daha güçlüdür. • Python2 belirli bir süre sonunda desteği kesilecek bir sürümdür.
  46. 46. Kurulumlar • Python (3.7.0) – www.python.org python-3.7.0.exe ~25MB
  47. 47. Kurulumlar • Python (3.x) – www.python.org İlgili işletim sistemine uygun sürüm indirilir.. Kurulumlar; • Windows • MacOS • Linux
  48. 48. Windows • İndirmiş olduğumuz dosyaya çift tıklayıp başlayabiliriz.
  49. 49. Windows
  50. 50. Windows
  51. 51. Windows
  52. 52. Windows
  53. 53. Windows
  54. 54. Windows
  55. 55. Windows
  56. 56. MacOS
  57. 57. MacOS
  58. 58. MacOS
  59. 59. MacOS • Homebrew paket kurulum yöneticisidir. $ brew search python $ brew update $ brew install python3 $ brew upgrade python3
  60. 60. MacOS
  61. 61. MacOS
  62. 62. MacOS
  63. 63. MacOS
  64. 64. MacOS • Python3 açıyoruz.. • Terminal $ python3
  65. 65. Linux • Hemen hemen bütün Linux sistemlerinde kurulu geliyor. • Sürüm bilgisini öğrenmek için; $ python –V veya $ python3 –V
  66. 66. Linux Debian tabanlı sistemlerde paket ile kurmak için; $ sudo apt-get update $ sudo apt-get upgrade -y $ sudo apt-get dist-upgrade $ sudo apt-get install python3.6 veya $ sudo apt-get install python3-all-dev
  67. 67. Linux Kaynak kod ile kurmak için; #wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz #tar xJf Python-3.6.3.tar.xz # cd Python-3.6.3 # ./configure # make # make install
  68. 68. Linux CentOs/RedHat sistemlerine kurmak için; # yum -y groupinstall development # yum -y install zlib-devel # yum -y install python36u
  69. 69. Linux • Python3 açıyoruz.. $ python3
  70. 70. Başlıyoruz.. • Kurulumlar tamam.. Python ı açıyoruz..
  71. 71. IDLE’ı açıyoruz.. • Windows Python IDLE
  72. 72. İlk Programımız >>> print (‘’Merhaba Dünya’’) Merhaba Dünya
  73. 73. Python Shell (Etkileşimli Kabuk) Programlarımızı veya küçük kodları yazıp deneyebildiğimiz temel araç.
  74. 74. Python IDLE’dan çıkmak Çıkmak için.. exit() veya quit() Yazıyoruz.. veya Ctrl + D
  75. 75. Biraz Alışalım.. >>> print (‘’Merhaba Dünya’’) Merhaba Dünya >>> "Adınız Soyadınız" ‘Adınız Soyadınız’ >>> 'Çukurova Üniversitesi‘ ‘Çukurova Üniversitesi’
  76. 76. Veri Tipleri • String (cümle – str - ) -> Karakter dizisi ‘’Merhaba Dünya’’ • Int(tamsayı – sayı -) -> Tam Sayı 2018 • Float (Ondalık sayı – kesirli -) -> Ondalık sayı 3.14159 • Değerlerin türlerini öğrenmek için; type()
  77. 77. Veri Tipleri
  78. 78. Karakter Dizisi • Tırnaklar içinde yazılanlardır. "Abcdef" "Çukurova" 'Herkese Merhabalar' """Uzun bir cümlede tırnak içinde""" "250" "2018"
  79. 79. Sayılar • Tırnaklar kullanılmadan yazılan değerlerdir. 2018 100 3.14159 10+20 50-30 50/2
  80. 80. print() • Tek tırnak (' ') • Çift tırnak (" ") • Üç tırnak (""" """) >>> print('Python programlama dili') Python programlama dili >>> print("Python programlama dili") Python programlama dili >>> print("""Python programlama dili""") Python programlama dili
  81. 81. print() fonksiyonu • Fonksiyon olarak print() ve parametreleri. • print (sep, end, file, flush) >>> print("Çukurova", "Üniversitesi", sep="*") Çukurova*Üniversitesi
  82. 82. DEĞİŞKENLER 4. Hafta
  83. 83. Değişken (Variable) • Değer taşıyan isimdir. • İçinde veri tutan birimdir. • Ram’de ayrılan bellek miktarıdır. • Bir değişkene değer atama ifadesi eşit(=) kullanırız. • Python’da değişkenleri önceden tanımlamak gerekmez. Değişken
  84. 84. Değişken Örnekleri • a=5 -> a’nın değeri 5 tir. • b=10 -> b’nin değeri 10 dur. • adi="Murat" -> adi değişkeni Murat tır. • numara=2018 -> numara 2018 dir. • dil="Python" -> dil’in değeri Python dur. • pi=3.14 -> pi bize 3.14 değeri verir. Lütfen, Sizde Deneyiniz..!
  85. 85. Değişken Örnekleri >>> ocak = mart = mayıs = temmuz = ağustos = ekim = aralık = 31 >>> nisan = haziran = eylül = kasım = 30 >>> şubat = 28 >>> ocak 31 >>> haziran 30 >>> şubat 28 >>> mayıs 31 Sıra Sizde! Lütfen Deneyiniz..!
  86. 86. Python’da Değişken İsimleri.. • Değişkenler; – Sayı ile başlayamaz, (2-Kisi=20 tl) – Aritmetik işleçlerle başlayamaz, (+fayda=6789) – Harf veya _ (alt_tire) ile başlamalıdır, (adi, _adi) – Belirli fonksiyona sahip adlar kullanılamaz, (del, and,..) – Kelimeler arasında boşluk bırakılmaz, (ogrenci no) – Büyük Harf ve küçük harf ayrımı Vardır. (adi ≠ Adi) • Tavsiyeler; – Çok kısa veya çok uzun olmamalıdır, – Mümkün olduğunca anlamlı olmalıdır, – Türkçe karakter kullanmak ilerde sorun olabilir.
  87. 87. Değişken İsimlendirme Yöntemleri • Yazılım dünyasında değişken adlandırmada kullanılan yöntemler (Notasyon); • Pascal – İlk harfleri büyük, devamı küçük harf. • Camel (Deve) – İlk kelimenin tamamı küçük harf, geri kalan tüm kelimelerin ilk harfi büyük. • Macar (Hungarian) – İlk 2 veya 3 harfte değişken tipi, sonrası anımsatıcı. • Uppercase (Büyük Harf) – Tamamı büyük harf. • Underscore (Altçizgili) – Kelimeler altçizgili.
  88. 88. Notasyon Örnekleri • Pascal – ToString, AdiSoyadi, TcKimlikNo, KategoriAdi,.. • Camel (Deve) – toString, adiSoyadi, tcKimlikNo, kategoriAdi,.. • Macar (Hungarian) – strString, txtAdiSoyadi, intTcKimlikNo, strKategoriAdi,.. • Uppercase (Büyük Harf) – STRING, ADISOYADI, TCKIMLIKNO, KATEGORIADI,.. • Underscore (Altçizgili) – String, adi_soyadi, tc_kimlik_no, kategori_adi,..
  89. 89. Python’da Kullanılamayan Değişken İsimleri • Özel anlam ifade eden kelimeler kullanılamaz. – pass="123" veya pass=123 – elif="Başarılıdır" – as="Kare" • Keyword List (Anahtar Kelime Listesi) 33 adet kelimedir. >>>import keyword >>>keyword.kwlist ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
  90. 90. Keyword List
  91. 91. Keyword List
  92. 92. Değişken Örnekleri • sayi=5 • AdiSoyadi="Murat KARA" • Personel_No=123456789 • kullanici="Öğrenci" • Sayi1=10 • sayi_2=15 • OGR_NO=2018123456 • ogrenciBolum_no=98765431 • sehir="Adana" • Sehir="Mersin" Deneyiniz; Adınızı, Soyadınızı, Numaranızı, Bölümünüzü değişken olarak tanımlayıp yazdırınız.
  93. 93. Garbage Collector (Çöp toplayıcısı) • Değişkene ilişkin atıf sona erince RAM’den silinmesi işlemidir. >>> a=5 >>> print(a) 5 >>> a="Adana" >>> print(a) Adana
  94. 94. Karakter Dizilerinde İşlemler • adi="Murat" • soyadi="Kara" • sayi=3 • adi+soyadi • adi*sayi • sayi*soyadi Deneyiniz..! Kendi bilgileriniz ile..
  95. 95. print() parametreleri >>> print (sep, end, file, flush) • sep: Seperator(Ayırıcı, ayraç) • end: Son, Varsayılanı ( n yeni satır veya satır başı) • file: Dosya, (Yazma Nereye yapılacak) (sys.stdout) • flush: True-False değerleri alır. Yazdırma işleminin tamponda bekletilmesini ayarlar.
  96. 96. print() Örnekler >>> print("P", "y", "t", "h", "o", "n", sep=".") P.y.t.h.o.n >>> print(*"Python", sep=".") P.y.t.h.o.n >>> print(*"Çukurova", sep=".") Ç.u.k.u.o.r.v.a Lütfen Deneyiniz..!
  97. 97. print() Örnekler >>> print("bir", "iki", "üç", "dört", "on dört", sep=" mumdur ", end=" mumdur") bir mumdur iki mumdur üç mumdur dört mumdur on dört mumdur >>> print("ÇukurovanÜniversitesinAdana") Çukurova Üniversitesi Adana [ n -> Satır Başı ] Lütfen Deneyiniz..!
  98. 98. print() Örnekler adi="Murat" soyadi="Kara" sehir="Adana" yil=2018 >>> print(adi, soyadi, sehir, yil, sep="n") Murat Kara Adana 2018 Deneyiniz..! Kendi bilgileriniz ile..
  99. 99. Kaçış Dizileri (Kaçış Karakterleri) Python’da özel anlam taşıyan işaret veya karakterleri, sahip oldukları bu özel anlam dışında bir amaçla kullanmamızı sağlayan birtakım araçlardır. • n satır başı • t sekme • u Unicode • x Onaltılı Karakter • …
  100. 100. Kaçış Dizisi(Karakteri) ve Anlamı Kaçış Anlamı ’ Karakter dizisi içinde tek tırnak işaretini kullanabilmemizi sağlar. ” Karakter dizisi içinde çift tırnak işaretini kullanabilmemizi sağlar. Karakter dizisi içinde işaretini kullanabilmemizi sağlar. n Yeni bir satıra geçmemizi sağlar. t Karakterler arasında sekme boşluğu bırakmamızı sağlar. u UNICODE kod konumlarını gösterebilmemizi sağlar. U UNICODE kod konumlarını gösterebilmemizi sağlar. N Karakterleri UNICODE adlarına göre kullanabilmemizi sağlar. x Onaltılı sistemdeki bir sayının karakter karşılığını gösterebilmemizi sağlar. a Sistemlerde, kasa hoparlöründen bir ‘bip’ sesi verilmesini sağlar. r Aynı satırın başına dönülmesini sağlar. v Destekleyen sistemlerde düşey sekme oluşturulmasını sağlar. b İmlecin sola doğru kaydırılmasını sağlar f Yeni bir sayfaya geçilmesini sağlar. r Karakter dizisi içinde kaçış dizilerini kullanabilmemizi sağlar * Hepsi tüm sistemlerde çalışmayabilir..!
  101. 101. Kaçış Dizisi-Karakteri Örnekler >>> print("ÇukurovanÜniversitesinAdana") Çukurova Üniversitesi Adana >>> print("bir", "iki", "üç", sep="t") bir iki üç
  102. 102. Kaçış Dizisi-Karakteri Örnekler >>> print("u0061") # Unicode a >>> print("x41") # Onaltılık A
  103. 103. Veri Tipi Dönüşümleri a=5 a=str(a) b="Adana" a=b pi=3.14 pi=int(pi) a=float(pi) int(a) b="Mersin" b=a a="Adana" a=int(50) Lütfen Deneyiniz..!
  104. 104. Dosya Kullanımı (.py) • IDLE dosya kullanımı • Dosya uzantısı .py olmalıdır. (IDLE otomatik yapar.) • File - > New File (Ctrl+N) – Yeni Dosya Oluşturulur. • Run -> Run Module (F5) – Dosya Çalıştırılır. • (Dosya çalıştırılmadan önce kaydedilir.)
  105. 105. Dosya Kullanımı (.py) IDLE 1 2
  106. 106. Dosyamız Çalışıyor
  107. 107. Thonny
  108. 108. Alıştırmalar 1. Adı, Soyadı, Bölümü ve Numarası değişkenlerini yazıp ekrana basalım. 2. Okul değişkenini aşağıdaki şekilde yazdıralım. Ç_u_k_u_r_o_v_a_Ü_n_i_v_e_r_s_i_t_e_s_i 3. a, b, c değişkenlerini aşağıdaki şekilde yazdıralım. (alt alta) Adana Mersin Hatay
  109. 109. Alıştırmalar-Cevap ------------------------------------------------------------------------1 adi="Murat" soyadi="Kara" bolumu="Enformatik" numarasi=123456789 print(adi, soyadi, bolumu, numarasi) ------------------------------------------------------------------------2 okul="ÇukuorvaÜniversitesi" print(*okul, sep="_") ------------------------------------------------------------------------3 a="Adana" b="Mersin" c="Hatay" print(a, b, c, sep="n")
  110. 110. Uygulama • Her gün Üniversiteye gelip geri dönen bir öğrencinin Aylık yol parası masrafını hesaplayan programı yazınız. – Detaylar; • Gidiş: 1.55 TL, • Dönüş: 1.55 TL, • Haftada 5 gün, • Ayda 20 gün, • Değişkenler: Adi, Soyadi, Yol_Masrafi, Gun, Ucret – Sonuç; Adı Soyadının günde ~3 TLden 20 günde Aylık Yol masrafı … TL olmaktadır. (şeklinde olmalıdır.)
  111. 111. Uygulama-Cevap adi="Murat" soyadi="Kara" gun=20 Ucret=3 yol_Masrafi=gun*Ucret print(adi, soyadi,"'nın", gun,"gün üzerinden, Günde", Ucret, "TL'lik ücretle Aylık Yol Masrafı:", yol_Masrafi, "TL olmaktadır.")
  112. 112. İŞLEÇLER VE KOŞULLAR 5. Hafta
  113. 113. İşleç (Operator) Sağında ve solunda bulunan değerler(operand) arasında bir ilişki kuran işaretlerdir. • Aritmetik İşleçler • Karşılaştırma İşleçleri • Bool İşleçleri • Değer Atama İşleçleri • Aitlik İşleçleri • Kimlik İşleçleri
  114. 114. Aritmetiksel İşleçler Matematikte kullanılan ve sayılarla aritmetik işlemler yapmamızı sağlayan yardımcı araçlardır. + Toplama // Tamsayı bölme (taban bölme) - Çıkarma % Modüler bölme (modülüs) * Çarpma ** Kuvvet alma / Bölme
  115. 115. Aritmetiksel İşleçler 5 + 10 >>> 45 + 60 105 >>> 23 * 46 1058 >>> 10 – 5 5 >>> 25 / 4 6.25 >>> 30 % 4 2 >>> 5 // 2 2 İşlenen İşlenenİşleç
  116. 116. Aritmetiksel İşleçler >>> 25 ** 2 625 >>> pow(25, 2) 625 >>> int(5/2) 2 >>> round(2.55) 3 >>> round(2.68, 1) 2.7 >>> pow(25,2,5) 0>>> (25**2)%5 0 25 sayısının 2. kuvvetini alıp, elde ettiğimiz sayının 5 ‘ e bölünmesinden kalan sayıyı hesaplamış
  117. 117. Karşılaştırma İşleçleri İşlenenler arasında bir karşılaştırma ilişkisi kuran işleçlerdir. == > >= and not != < <= or >>> 7==7 True
  118. 118. Bool İşleçleri 1 ve 0 gibi True ve False (Doğru ve Yanlış) >>> a=1 >>> a==1 True >>> a==2 False >>> bool(a) True
  119. 119. Değer Atama İşleçleri = Değer atama işlecidir. += -= /= *= %= **= //=
  120. 120. Aitlik İşleçleri Bir karakter dizisi ya da sayının, herhangi bir veri tipi içinde bulunup bulunmadığını sorgulamamızı sağlayan işleçlerdir. >>> a="abcd" >>> "a" in a True >>> "f" in a False
  121. 121. Kimlik İşleçleri Her nesnenin kimlik numarası (Identity) vardır. id() Nesnenin bellekteki adresini gösterir. >>> a=100 >>> id(a) 1406130748 >>> c=50 >>> id(c) 1406129984 Aynı kimlik Numarası (id). 100 sayısı için bellekte iki farklı nesne oluşturmuyor. -5 … 257 arası
  122. 122. Alıştırmalar >>> x=7 >>> x+13/4 >>> 2*x+9 >>> (7+x)/2**2 >>> (6*x*3)/2 >>> (4**x)/(1/2) ? Lütfen Deneyiniz..!
  123. 123. KOŞULLAR
  124. 124. Koşullar • if • elif • else • if(Eğer ise), elif(Doğru ise), else(Hiçbiri Değil ise) • if, tüm olası sonuçlar, • elif, sadece doğru olan ilk sonuç, • else, koşulların hiçbiri olmazsa yapılacak olan.
  125. 125. if if koşul : koşul doğruysa yap eğer koşul(şöyle bir durum varsa) : bunu yap şunu da yap : Girinti (kod bloğu başlatıyor)
  126. 126. if >>> a=5 >>> if a>2 : print("a 2'den büyüktür") a 2’den büyüktür >>>
  127. 127. elif if koşul1 : koşul1 doğruysa yap elif koşul2(başka bir durum varsa) : koşul2 doğruysa şunu da yap : Girinti (kod bloğu başlatıyor)
  128. 128. elif >>> yas=15 >>> if yas<18 : print("Merhaba çocuklar") elif yas>18 : print("Merhaba Gençler") Merhaba çocuklar >>>
  129. 129. else if koşul1 : sonuç 1 elif koşul2 : sonuç 2 elif koşul3 : sonuç 3 else : # Hiçbirisi değilse..! sonuç 4
  130. 130. else >>> boy=140 >>> if boy<169 : print("Kısa boylu") elif boy>180 : print("Uzun boylu") else : print(«Normal boylu") Kısa boylu >>>
  131. 131. VERİ GİRİŞİ (INPUT)
  132. 132. input() • Kullanıcıdan Bilgi almak veya veri girişi yapmasını sağlamak için kullanılır. >>> input("Adınızı Yazınız:") Adınızı Yazınız: Murat ‘Murat’ >>> adi=input("Adınız:") print("Sayın", adi, "Hoşgeldiniz") Adınız:Murat Sayın Murat Hoşgeldiniz
  133. 133. Örnek • Kullanıcının girdiği iki sayının toplamını bulan programımız; sayi1=input("Bir sayı giriniz:") sayi2=input("İkinci sayı giriniz:") toplam=int(sayi1)+int(sayi2) print("Sayıların toplamı", toplam) Lütfen deneyiniz..!
  134. 134. Alıştırmalar Kullanıcının girdiği sayının karesini(üssü) bulan programı yazınız. sayi=int(input("Hesaplanacak sayıyı giriniz:")) sonuc=sayi**2 print("Girdiğiniz sayı:",sayi,"nSayının Karesi:",sonuc)
  135. 135. Uygulama Beden Kütle Endeksi hesaplayan bir program. Kullanıcıdan kilo ve boy bilgisi alıp hesaplama sonucunu aşağıdaki aralıklara göre veren programı yazınız. • BKI=Kilo/boy2 (Kilo’yu, Boy’un karesine böleceğiz) • Zayıf <18.5 • Normal 18.5-24.9 • Kilolu 25.0-29.9 • Şişman 30.0-34.9 • Obez >40 Lütfen yapınız..!
  136. 136. Uygulama-Cevap adi=input("Adınız:") kilo=int(input("Kilonuzu giriniz (85 gibi) : ")) boy=float(input("Boyunuzu giriniz (1.75 gibi) : ")) bki=round((kilo/(boy**2)),1) if bki<18.5 : sonuc="Zayıf" elif bki<24.9 : sonuc="Normal" elif bki<29.9: sonuc="Kilolu" elif bki<34.9: sonuc="Şişman" else: sonuc="Obez" print("Sayın", adi, "BKİ", bki, "değerinize göre sonuç", sonuc, "çıkmıştır.")
  137. 137. İç İçe Koşul Örnek: Kullanıcın girdiği sayının negatif mi pozitif mi olduğunu değerlendirdikten sonra sayının 3 bölünüp bölünmediğini kontrol eden bir program. sayi=float(input("Sayı giriniz:")) if sayi>0: if sayi %3==0: print("Sayı 3 e bölünebilir") else : print("Sayı 3 e Bölünemez") else: print("Negatif sayı girdiniz")
  138. 138. Ödev Kullanıcının girdiği veriden sonra en az 4 farklı duruma göre değerlendirip sonucu ekrana yazdıran programı yazınız. Ör: • Hesap makinası • Öğrenci notlarının harf not karşılıkları • Alan, yarıçap, vb. hesaplama (kare, diktörgen vb.) • Hava sıcaklığına göre ortamın değerlendirilmesi
  139. 139. DÖNGÜLER 6. Hafta
  140. 140. Döngü(Loop) • Döngü, bir işi, belirlediğiniz sayıda (veya koşulda) yapan kod bloklarıdır. • Tekrar eden işlemlerde kullanılır. • Döngüler koşul doğru olduğu sürece dönmektedir. • Koşul sağlanmadığı taktirde döngüden çıkmaktadır.
  141. 141. Döngüler Python’da döngüler; • While döngüsü • For döngüsü
  142. 142. While Döngüsü • ... iken, • ... olduğu sürece, anlamlarına gelmektedir. • Koşul sağlandığı sürece döngü devam eder.
  143. 143. while >>> while koşul : uygulanacak komutlar bloğu (koşul sağlandığı sürece) Bloğun dışında komutlar.. Döngü
  144. 144. While Örnek i=1 while i<=5 : print(i) i += 1 Değişkenimiz : i Koşulumuz : i<=5 Sayacımız : i += 1 1 2 3 4 5 Sonuç: 1 den 5 kadar yazan döngü
  145. 145. Alıştırma sayac = 1 while (sayac < 10) : print ("Bu sayacımız:", sayac) # sayac = sayac + 1 sayac += 1 print ("Hoşçakal !")
  146. 146. Alıştırma 1 ‘ den 100 ‘ e kadar olan aralıktaki çift sayıları while döngüsü kullanarak yazınız. Lütfen deneyiniz.. sayi=0 while sayi < 100 : sayi += 1 if sayi % 2 == 0 : print(sayi) # if bloğundan çıkıyoruz. #while bloğundan çıkıyoruz.
  147. 147. For Döngüsü • For -> İçin anlamına geliyor.. • Genelde in ifadesi ile kullanılmaktadır. • İn -> İçinde anlamına geliyor.. • İşlemlerin tekrar sayısının önceden belli olduğu durumlarda kullanılır. • Tekrarlama veya yineleme anlamlarına gelen iterasyon ile birlikte kullanılır.
  148. 148. for >>> for değişken in sıralama : ifadeler (komutlar) Bloğun dışında kalan komutlar..
  149. 149. for for karakter in "Python": print ("Harf:", karakter) Harf: P Harf: y Harf: t Harf: h Harf: o Harf: n
  150. 150. for # 0,1,2,3,4 for x in range(5): print(x) 0 1 2 3 4
  151. 151. for sayi = 1 for sayi in range(1,11): print(sayi) 1 2 3 4 5 6 7 8 9 10
  152. 152. range() • Ardışık sayılardan oluşan iterasyon edilebilen bir nesnedir. range(başlangıç, bitiş, basamak) Varsayılanlar; Başlangıç: 0 Basamak: 1
  153. 153. for in range() for x in range(0,24,3): print(x) 0 3 6 9 12 15 18 21
  154. 154. Break ve Continue • Break, devam eden bir süreci kesintiye uğratmak için. • Continue, kendisinden sonra gelen her şeyin es geçilip döngünün başına dönülmesini sağlamak için. • Genellikle while, for veya if ile kullanılmaktadırlar..
  155. 155. Break Örneği while True: sehir = input("Lütfen bir şehir yazınız:") if len(sehir) < 3: print("Şehir 3 karakterden az olmamalı!") else: print("Şehir belirlendi!") break
  156. 156. Continue Örneği while True: s = input("Bir sayı giriniz: ") print("Sayınız: ",s) if s == "x": # x girilince program sona erecek. break if len(s) <= 3: continue # 3 haneden az olursa başa dön print("En fazla üç haneli bir sayı girebilirsiniz.")
  157. 157. Uygulama En güney ilimizi soran ve kullanıcıya 2 şans veren programı while döngüsü ile yazınız. print("En güney il?") print("iki şans var.") girilen="" i=1 while i <= 2 : print(i,". şans") girilen=input("Bir İl Giriniz:") if girilen == "Hatay" : print("Tebrikler!") break i+=1 else: print("Üzgünüm, hakkınız bitti")
  158. 158. Ödev • Kullanıcıdan 1-100 arası bir sayı girmesini isteyip, – Sayının verilen aralık dışında olması durumunda uyarmasını sağlayan, – Sayının devamını 100’e kadar olan çift sayıları listeleyen Bir program yazınız..
  159. 159. KARAKTER DİZİLERİ 7. Hafta
  160. 160. Karakter Dizileri >>> cumle="Çukurova Üniversitesi" >>> sayi="123456789" >>> cumle[7] 'a' >>> sayi[5] '6' >>> sayi[0] '1' >>> sayi[-1] '9' >>> sayi[-3] '7‘ >>> cumle[-4] 't'
  161. 161. Karakter Dizileri • Karakter Dizilerinin uzunluğu len() ile bulunur. >>> len(cumle) 21 >>> len(sayi) 9 >>> for i in range(8): print(cumle[i]) Ç u k u r o v a
  162. 162. Örnek ad=input("Adınız: ") for i in range(len(ad)): print("Adınızın {}. harfi: {}".format(i, ad[i])) Adınız: Murat Adınızın 0. harfi: M Adınızın 1. harfi: u Adınızın 2. harfi: r Adınızın 3. harfi: a Adınızın 4. harfi: t
  163. 163. Karakter Dizilerini Dilimlemek • Dizinin istenilen başlanış ve bitiş aralığında dilim olarak ayırmak için. karakter_dizisi[alınacak_ilk_öğenin_sırası:alınacak_son_öğenin_sırasının_bir_fazlası] >>> cumle="Çukurova Üniversitesi" >>> cumle[5:9] 'ova '
  164. 164. Karakter Dizilerini Dilimlemek M e r h a b a 0 1 2 3 4 5 6 -7 -6 -5 -4 -3 -2 -1 >>> s[başla:bitir] >>> s[1:5] -> ‘erha’ >>>s[-4] -> ‘h’ >>>s[:-3] -> ‘Merh’ >>>s[-3:] -> ‘aba’
  165. 165. Örnek cumle=input("Lütfen bir cümle giriniz: ") basla=int(input("Başlangıç sayısı: ")) bitir=int(input("Bitiş sayısı: ")) dilim=cumle[basla:bitir] print(dilim) >>> Lütfen bir cümle giriniz: Burada çook uzun bir cümle yazdık Başlangıç sayısı: 7 Bitiş sayısı: 16 çook uzun
  166. 166. Karakter Dizilerini Ters Çevirmek • Dizinin ters çevrimini aşağıdaki yapıya göre gerçekleştirir. karakterDizisi[ilk_karakter:son_karakter:atlama_sayısı] >>> a="Adanalıyık" >>> a[::-1] 'kıyılanadA' veya >>> print(*reversed(a)) k ı y ı l a n a d A
  167. 167. Karakter Dizilerini Alfabetik Sıralamak >>> sorted("Python") ['P', 'h', 'n', 'o', 't', 'y'] veri=input("Lütfen Sıralanacak veriyi giriniz: ") sirala=sorted(veri) print("Sıralama sonucu: ",sirala)
  168. 168. Karakter Dizilerinin Metotları
  169. 169. Karakter Dizilerinin Metotları • lower() • upper() • title() • count() • find() • isdigit() • isalnum() • strip() • replace()  Küçük harfe çevirir  Büyük harfe çevirir  İlk harfleri büyüğe çevirir  Harf veya ifadenin kaç kez geçtiğini verir  Harf(karakter) arar, yer sayısını verir  Sayısal olup olmadığını verir  Alfa numerik(harf-sayı) olup olmadığı  İstenmeyen karakterleri siler  Harf veya karakterleri değiştirir
  170. 170. Örnekler adi="çukurova üniversitesi?" print("title:",adi.title()) print("count:",adi.count("ve")) print("find:",adi.find("e")) print("upper:",adi.upper()) print("isupper:",adi.isupper()) print("endswith:",adi.endswith("sitesi")) print("isdigit:",adi.isdigit()) print("isalnum:",adi.isalnum()) print("strip:",adi.strip("?")) print("replace:",adi.replace("?","."))
  171. 171. VİZE (ARA SINAV) 8. Hafta
  172. 172. DOSYA İŞLEMLERİ 9. Hafta
  173. 173. Dosya Komutu (open) open() komutu dosya işlemlerinde kullanılır. open("dosyaAdı.uzantı", "kip (veya mode, argüman)") veya abc=open("dosyaAdı.uzantı", "kip (mode, argüman)") şeklinde kullanılır.
  174. 174. Örnekler dosya=open("dosya-olustur.txt","w") dosya=open("dosya-oku.txt","r") dosya=open("dosyaya-ekle.txt","a") dosya=open("dosya-ikili.txt","b") dosya=open("dosya-okunur.txt","t") dosya=open("deneme.txt","a")
  175. 175. Dosya Kipleri (Argümanları) Kip (Argüman) Görevi w Yazma (write) r Okuma (read) (öntanımlı) a Ekleme (append) b İkili (binary) x Yazma (exclusive ) (var olan dosyayı silmeden) + Güncelleme (Okuma-Yazma)
  176. 176. Yol Tanımları Windows C:/Dene/abc.txt C:Deneabc.txt Linux /home/murat/abc.txt
  177. 177. Dosya Oluşturmak dosya=open("deneme.txt","w") Windows IDLE Linux Terminal
  178. 178. Dosyaya Yazmak dosya=open("deneme.txt","w") dosya.write("Merhaba") dosya.close
  179. 179. Dosya Okumak dosya=open("deneme.txt", "r") print(dosya.read()) dosya.close
  180. 180. Dosyaya Ekleme Yapmak dosya=open("deneme.txt", "a") dosya.write("Hoşçakal") dosya.close
  181. 181. Dosyada İlk Satıra Eklemek dosya=open("deneme.txt","r+") veri=dosya.read() dosya.seek(0) #ilk satır için dosya.write("Önce Bu satır gelsin..n"+veri) dosya.close()
  182. 182. Dosyada Araya Satır Eklemek dosya=open("deneme.txt","r+") veri=dosya.readlines() veri.insert(1,"ikinci satırn") dosya.seek(0) dosya.writelines(veri) dosya.close()
  183. 183. Dosya Metodları dosya=open("deneme.txt","r") print(dosya.closed) #Dosya kapalımı? print(dosya.name) #Dosya adı print(dosya.mode) #Dosyanın açılma kipi print(dosya.encoding) #Dosyanın dil kodlaması
  184. 184. Dosya İşlemleri import os #Dosyanın bulunduğu dizin print(os.getcwd()) #Dosya ismini değiştirme os.rename("deneme.txt","abc.txt") #Dosya silmek os.remove("abc.txt")
  185. 185. Örnekler d=open("abc.txt","w") d.write("Merhaba") d.close d=open("abc.txt","a") d.write("nHoşçakal") d.close() d=open("abc.txt") print(d.name, d.mode, d.encoding, d.closed) print(d.read()) d.close() d=open("abc.txt","r+") veri=d.read() d.seek(0) d.write("Önce bu satır..n"+veri) d.close() d=open("abc.txt","r+") veri=d.readlines() veri.insert(1,"ikinci satırn") d.seek(0) d.writelines(veri) d.close() import os print(os.getcwd()) #os.rename("dene123.txt","abc2.txt") print(d.name) os.remove("sil.txt")
  186. 186. Uygulama Öğrenci listesini tutan bir dosya oluşturup içerisine 4 kayıt ekleyen bir program yazınız. i=1 dosya=open("ogrenci.txt","a+") for i in range(1,5): adi=input("Adi Soyadi:") num=input("Numarası:") dosya.write(num+"t"+adi+"n") dosya.close() dosya=open("ogrenci.txt","r") oku=dosya.read() print("Rehberdeki kayıtlar:n",oku) dosya.close()
  187. 187. Ödev Telefon rehberi uygulaması.. Telefon numaralarını ve Ad Soyad bilgilerinin kullanıcı tarafından girilmesi ve onların dosyaya yazılması şeklinde bir program yazınız.
  188. 188. FONKSİYONLAR 10. Hafta
  189. 189. Fonksiyon • Belirli sayıda verileri kullanarak bunları işleyen ve bir sonuç üreten komut grubudur. • Tekrar eden komutların kolayca kullanımı için.. • Fonksiyon tanımlama def ile yapılmaktadır. • define – definition def fonksiyon_adi(): şeklinde tanımlanır..
  190. 190. def kullanımı def fonksiyon_adi(): print("Fonksiyonu yaz.. ") fonksiyon_adi() Fonksiyon önce tanımlanır, sonra çağrılır. Fonksiyon Tanımı Fonksiyon Çağrısı Fonksiyon bloğu
  191. 191. İlk Örnek def mrb(): print("merhaba python") mrb() ---------run-------- merhaba python
  192. 192. Python’da Fonksiyonlar • Gömülü Fonksiyonlar (builtin functions ) – Python dili içinde tanımlıdır. – print(), open(), str(), int() vb… • Özel (Kullanıcı Tanımlı) Fonksiyonlar (custom functions) – Programı yazan kişi tarafından kodlanır.
  193. 193. Parametre ve Argüman def adSoyad(adi,sehir): Parametre print("Merhaba,",sehir,"şehrine ve ",adi,"Üniversitesine") adSoyad("Çukurova","Adana") Argüman
  194. 194. Sıralı (İsimsiz) Parametre def adSoyad(adi,sehir): print("Merhaba,",sehir,"şehrine ve ",adi,"Üniversitesine") adSoyad("Çukurova","Adana") Sıralı adi ve sehir parametreleri mevcuttur.
  195. 195. İsimli Parametre def adSoyad(adi,sehir): print("Merhaba,",sehir,"şehrine ve ",adi,"Üniversitesine") adSoyad(sehir="Adana",adi="Çukurova") Sırayı kullanmayıp isim tanımla ile değer belirtiyoruz.
  196. 196. return return deyimi fonksiyonun geriye değer döndürmesini sağlar. def topla(a,b): toplam=a+b return toplam print("Sayıların Toplamı:",topla(2,2))
  197. 197. return def karesi(x): kare=x*x #return kare print(karesi(5)) -----run---- None
  198. 198. global • Bir değişkeni fonksiyon içinde kullanırsak sadece fonksiyonda geçerli olur. Her zaman kullanmak istersek global olarak tanımlamamız gereklidir. sehir = "Adana" def yaz(): global sehir sehir += "Çukurova" return sehir print(yaz())
  199. 199. Örnekler def sirala(): for harf in adi: print(harf) adi=input("İsim Giriniz:") sirala()
  200. 200. Alıştırmalar Kullanıcının girdiği veriyi küçük harf, büyük harf ve alt alta harf harf sıralayan bir program. veri=input("Lütfen bir veri giriniz:") def kucuk(): kucuk_harf=veri.lower() return kucuk_harf def buyuk(): buyuk_harf=veri.upper() return buyuk_harf def sirala(): for harf in veri: print(harf) print(kucuk()) print(buyuk()) print(sirala())
  201. 201. Uygulama Kullanıcıdan yapacağı işlemi seçtiren, ardından iki sayı girilmesini isteyen bir hesap makinası programı yazalım. İşlemler fonksiyonlar şeklinde olmalıdır. 1 Toplama 2 Çıkarma 3 Çarpma 4 Bölme Şeklinde..
  202. 202. Hesap Makinası # Toplama Fonksiyonu def Topla(x, y): return x + y # Çıkarma Fonksiyonu def Cikar(x, y): return x - y # Çarpma Fonksiyonu def Carp(x, y): return x * y # Bölme Fonksiyonu def Bol(x, y): return x / y print("Yapılacak İşlemi Seçiniz.") print(25*"=") print("1. Toplama") print("2. Çıkarma") print("3. Çarpma") print("4. Bölme") print(25*"=","n") # Kullanıcıdan Seçim İsteme secim = input("Seçiminiz (1 _ 2 _ 3 _ 4):") sayi1 = int(input("1. Sayı: ")) sayi2 = int(input("2. Sayı: ")) if secim == '1': print(sayi1,"+",sayi2,"=", Topla(sayi1,sayi2)) elif secim == '2': print(sayi1,"-",sayi2,"=", Cikar(sayi1,sayi2)) elif secim == '3': print(sayi1,"*",sayi2,"=", Carp(sayi1,sayi2)) elif secim == '4': print(sayi1,"/",sayi2,"=", Bol(sayi1,sayi2)) else: print("Geçersiz Giriş")
  203. 203. Ödev • Kullanıcının girdiği veriye göre; • Yazı ise harflerine ayırıp ekrana yazan, • Sayı ise Asal olup olmadığını kontrol eden bir program yazınız.
  204. 204. LİSTELER 11. Hafta
  205. 205. Listeler • Listeler değiştirilebilen (mutable) bir veri tipidir. liste=[ ] köşeli parantezler içinde tanımlanır. liste=[öğe,öğe,öğe] veya liste=["öğe","öğe","öğe"] şeklindedir.
  206. 206. Listeler liste=["Çukurova","Üniversitesi","Adana"] liste2=[1979,2018,5,50,100] liste3=["Çukurova","Üniversitesi",["Fakülte","Bölüm","Bilim Dalı"],"Adana"] print(liste,liste[2],len(liste)) print(liste2,liste2[1],len(liste2)) print(liste3,liste3[2][2],len(liste3),len(liste3[2])) ['Çukurova', 'Üniversitesi', 'Adana'] Adana 3 [1979, 2018, 5, 50, 100] 2018 5 ['Çukurova', 'Üniversitesi', ['Fakülte', 'Bölüm', 'Bilim Dalı'], 'Adana'] Bilim Dalı 4 3
  207. 207. list() fonksiyonu alfabe="abcçdefgğhıijklmnoöprsştuüvyz" alfabeList=list(alfabe) print(alfabeList) ['a', 'b', 'c', 'ç', 'd', 'e', 'f', 'g', 'ğ', 'h', 'ı', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'ö', 'p', 'r', 's', 'ş', 't', 'u', 'ü', 'v', 'y', 'z'] sayilar=list(range(10)) print(sayilar) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  208. 208. Liste Öğeleri liste=["Çukurova","Üniversitesi","Adana"] Liste[0] ‘Çukurova’ for oge in liste: print(oge)
  209. 209. Listeye Eklemek liste.append("Balcalı") veya Listeye + ile yine bir liste öğesi eklenebilir. Liste + ["Sarıçam"]
  210. 210. Listeleri Birleştirmek derlenen=["C","C++","C#","Java"] yorumlanan=["Python","Perl","Ruby"] programlamaDil=derlenen + yorumlanan print(programlamaDil)
  211. 211. Listeden Öğe Silmek liste=['Çukurova', 'Üniversitesi', 'Adana', 'Balcalı', 'Mersin'] del liste[-1] veya liste.pop(4) veya liste.remove('Mersin') print(liste) ['Çukurova', 'Üniversitesi', 'Adana', 'Balcalı']
  212. 212. Liste Öğelerini Değiştirmek liste=["Çukurova","Üniversitesi","Adana"] liste[2]="Mersin" print(liste) ['Çukurova', 'Üniversitesi', 'Mersin'] Tüm listeyi değiştirmek için; liste[:]="a","b","c" print(liste) ['a', 'b', 'c']
  213. 213. Liste Silme Listenin tamamını da del ile silebiliriz. del liste print(liste) liste is not defined
  214. 214. Liste Üreteçleri (List Comprehensions) Liste üretmeyi sağlar. sayiListe = [i for i in range(100)] veya sayiliste2 = list(range(100)) print(sayiListe) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
  215. 215. Örnek 0 ile 1000 arasındaki çift sayıları listelemek için liste üreteçlerini kullanalım. ciftSayilar = [i for i in range(100) if i % 2 == 0] print(ciftSayilar) [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98]
  216. 216. Demetler (Tuple) Demetler değiştirilemez (immutable) veri tipidir. Demetler () parantezler ile tanımlanır. demet=(‘Çukurova’ ,) *Karakter dizisinden farkını belirtmek için sonuna virgül konur. demet=('Çukurova',) print(demet) print(type(demet)) ('Çukurova',) <class 'tuple'>
  217. 217. Demetler Nerede Kullanılır • Ayar, config, sabit değerler için kullanımı yaygındır. Ör; TEMPLATE_DIRS = ('/home/projects/djprojects/blog/templates',) Sonda bulunan virgül’e { , } dikkat…
  218. 218. Liste Metodları >>> dir(list) veya print(dir(list)) ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
  219. 219. Liste Metodları • liste.append("Yeni öğe") # tek öğe eklemek • liste.extend(baskaListe) #listeye liste ekler(genişletir) • liste.insert(0, "öğe") #istenen sıraya öğe ekler. • liste.remove("öğe adı") # öğe siler. • print(*reversed(liste)) Veya print(list(reversed(liste))) • liste.pop(0) # sırası verilen öğeyi siler. • liste.sort() print(liste) • liste.index("öğe adı") # indeksini sırasını verir. • liste.count("öğe adı") # kaç kez geçtiğini verir. • liste2 = liste.copy() # listeyi kopyalar. veya liste2 = liste[:] veya liste2 = list(liste) • liste.clear() # listenin içeriğini bolaştır.
  220. 220. Uygulama Kullanıcıdan üç adet Şehir adı girmesini isteyen ve onları listeye çevirip tutan, bitince öğe olarak ve tümünü listeleyen program. i=1 liste=[] while i <=3: isim=input("Lütfen Şehir Adı Giriniz: ") liste.append(isim) #print(liste) i+=1 else: for oge in liste: print(oge) print("Tüm Liste: ",liste)
  221. 221. Ödev Kullanıcıdan Müşteri bilgileri (adı, soyadı, kurumu ve sipariş miktarı) bilgilerini alıp onları listeye çeviren. Adı alanına «çık» girince çıkan ve çıkışta tüm müşterileri öğe olarak sıralayan bir program yazınız.
  222. 222. SÖZLÜKLER 12. Hafta
  223. 223. Sözlük (Dictionary) Sözlükler; Anahtar ve Değer çiftlerinin birbirleriyle eşleştirildiği bir veri tipidir. İki nokta üst üste işaretinin; solundaki karakter dizisine ‘anahtar’ (key), sağındaki karakter dizisine ise ‘değer’ (value) adı verilir. sozluk={"Anahtar":"Değer"} kelimeler = {"kitap": "book"}
  224. 224. Sözlük Tanımlamak • Sözlük tanımlamak için { } süslü parantez (küme parantezi) içerisine anahtar ve değer ile tanımlıyoruz. • sozluk_adi = {"anahtar": "değer"} • boş_sozluk={} • Sozluk= {"anahtar1": "değer1", "anahtar2": "değer2", "anahtar3": "değer3"}
  225. 225. Sözlük (Okunaklı yazım) sözlük = {"kitap": "book", "bilgisayar": "computer", "programlama": "programming", "dil": "language", "defter": "notebook"} sözlük = {"kitap" : "book", "bilgisayar" : "computer", "programlama" : "programming", "dil" : "language", "defter" : "notebook"}
  226. 226. Sözlük Öğesine Erişmek sozluk[sözlük_öğesinin_adı] seklinde ulaşılmaktadır. sozluk={"kitap":"book"} print(sozluk["kitap"]) book
  227. 227. Sözlüğe Öğe Eklemek sozluk[anahtar]=değer Şeklinde bir yapıdır. sozluk["merhaba"]="hello" print(sozluk)
  228. 228. Sözlük Öğesinde Değişiklik Yapmak print(sozluk) {'kitap': 'book', 'bilgisayar': 'computer', 'programlama': 'programming', 'dil': 'language', 'defter': 'notebook', 'merhaba': 'hello'} sozluk["merhaba"]="Hi!" print(sozluk) {'kitap': 'book', 'bilgisayar': 'computer', 'programlama': 'programming', 'dil': 'language', 'defter': 'notebook', 'merhaba': 'Hi!'}
  229. 229. Sözlük Üreteçleri (Dictionary Comprehensions) • Bir listeden sözlük elde etmek.. • Listedeki isimlerin uzunluklarını sözlüğe ekleyelim isimler = ["ahmet", "ayşe", "mehmet", "fatma", "can"] isimler_sozluk = {i: len(i) for i in isimler} print(isimler_sozluk) {'ahmet': 5, 'ayşe': 4, 'mehmet': 6, 'fatma': 5, 'can': 3}
  230. 230. Sözlük Metotları print(dir(dict)) ['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
  231. 231. Sözlük Metotları • sozluk.keys() #Anahtarları verir. • sozluk.values() #Değerleri verir. • sozluk.items() #Öğeleri verir (anahtar ve değer) • sozluk.get(öğe, "yoktur.!") #Öğe var mı, yoksa mesaj • sozluk.clear() #Sözlüğün içini boşaltır. • sozlukYeni=sozluk.copy() #Sözlüğü kopyalar • dict.fromkeys(liste, "Değer") # Bir listeden anahtarları alır ve değer ataması yapar.
  232. 232. Sözlük Metotları • sozluk.pop("öğe_adı", "öğe yok mesajı") #Öğe siler • sozluk.popitem() #rastgele öğe siler. • sozluk.setdefault() #sözlükde arama yapiyor, anahtar sözlükte yoksa metot içinde belirtilen anahtar-değerleri oluşturuyor. • sozluk.update(yeni_sozluk) #sozluk değerleri yeni_sozluk ten alınıp güncelleniyor..
  233. 233. Örnek • Şehirlerin plaka ve ünlü yiyeceklerinin sözlüğünü şehir adı ile veren program.. sor=input("Plaka ve meşhur yiyecek için Şehrinizin adını yazınız:") sehir = {"Adana": "01 - Kebap", "Malatya": "44- Kayısı", "Antep": "27 - Baklava"} print(sehir.get(sor, "Bu şehre ilişkin bilgi bulunmamaktadır."))
  234. 234. Kümeler set() kume=set() Kümeler için ayırt edici bir işaret yoktur. set() ile tanımlanmaktadır. Karakter dizisi, liste, demet, sözlük hepsi küme olarak tanımlanabilir. Kümelerde öğe sırası (indisi) yoktur. liste = ["elma", "armut", "kebap"] kume=set(liste)
  235. 235. Küme Metotları print(dir(set)) ['__and__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__iand__', '__init__', '__init_subclass__', '__ior__', '__isub__', '__iter__', '__ixor__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__xor__', 'add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update'] Dondurulmuş Kümeler frosenset() Elemanları (öğeleri) üzerinde değişiklik yapılamayan kümelerdir. #add(), remove(), update() gibi metotları yoktur.
  236. 236. Küme Metotları • kume=set("Adana","Çukurova") • kume.clear() #kümenin içini siler • kume.copy() #kümeyi kopyalar • kume.add() #kümeye eleman ekler • kume.difference(kume2) veya Kume-kume2 #iki kümenin farkını alır. • kume.difference_update(kume2) # iki kümenin farkını alıp kume yi onunla oluşturur. • kume.discard() # öğe siler. • kume.remove() #öğe siler (farkı, hata mesajı verir) • kume.intersection(kume2) #Kesişim, iki kümenin kesişimi veya kume & kume2
  237. 237. Küme Metotları • kume.intersection_update(kume2) #Kesişim kümesini kumeye günceller. • kume.isdisjoint(kume2) #Kesişim boş mu kontrol eder • kume.issubset(kume2) #Alt küme kontrolü yapar. • kume.issuperset(kume2) #Küme küme2 yi kapsar mı kontrol eder. • kume.union(kume2) #Birleşim, iki kümenin birleşimini alır. veya kume | kume2 • kume.update(kume2) #Kümeyı günceller • kume.symmetric_difference(kume2) #İki kümede de bulunmayanları verir. veya kume ^ kume2 • kume. symmetric_difference_update(kume2) #İkisinin farkını kume de günceller. • kume.pop() #Kümeden rastgele bir eleman (öğe) siler.
  238. 238. Örnek roman=set(["macera","tarihsel","sosyal","polisiye"]) siir=set(["lirik","pastoral","epik"]) print("Birleşim:",roman|siir) print("Fark:",roman-siir) print("Kesişim:",roman&siir) print("Simetrik Fark:",roman^siir) Birleşim: {'pastoral', 'lirik', 'tarihsel', 'polisiye', 'macera', 'epik', 'sosyal'} Fark: {'macera', 'tarihsel', 'polisiye', 'sosyal'} Kesişim: set() Simetrik Fark: {'polisiye', 'macera', 'sosyal', 'lirik', 'tarihsel', 'epik', 'pastoral'}
  239. 239. Uygulama Kullanıcıdan 3 adet Kişi ve Telefon numarası isteyen ve kayıtları sözlük olarak tutan sonrasında kayıtlarda arama yapmayı sağlayan bir program. i=1 rehber={} while i <=3: isim=input("Lütfen İsim Giriniz: ") tel=input("Lütfen Tel No Giriniz: ") rehber[isim]=tel #print(rehber) i+=1 else: kisi=input("Rehber'de arama yapmak için Lütfen isim giriniz:") print(rehber.get(kisi,"nKişi rehberde mevcut değildir.")) print("n") for oge in rehber: print(oge) print("nTüm Liste: ",rehber)
  240. 240. Ödev • Bir kütüphaneye yeni 5 adet kitap kaydı alan ve onları sözlük olarak tutan. • Sonrasında kitap araması yapan. • Kitap adına «x» yazınca çıkış yapan bir Program yazınız.
  241. 241. NESNE TABANLI PROGRAMLAMA 13. Hafta
  242. 242. Modül • Kelime anlamı bütünün parçasıdır. • Programın bir veya daha fazla rutin işlemini içeren parçasıdır. • Python da yazılan her program bir modül olarak kullanılabilir. • Bir python programında bulunan işlevden başka bir program da da yararlanabiliyoruz. – Hazır modüller • Standart kütüphane modülleri (https://docs.python.org/3/library/ ) • Üçüncü şahıs modülleri – Kendi hazırladığımız modüller
  243. 243. Modül Çağırmak (İçe Aktarmak) import modül_Adı şeklinde kullanılır. Modül içerisinde bulunan fonksiyon veya niteliklerin kullanımı; modül_adı.Fonskiyon veya modülAdi.Nitelik şeklinde kullanılır.
  244. 244. Önemli Python Modülleri • os – import os – os.name • sys – import sys – sys.path • random – import random – random.randrange(1,10) • datetime – import time – datetime.dattime.now() • time – import time
  245. 245. Rastgele Sayı 1’den 100’e kadar rastgele bir sayı üreten program. (rastgele_sayi.py) import random sayi=random.randrange(1,101) print(sayi) 16
  246. 246. Kendi Modülümüz Python_dosyamız.py import Python_dosyamız şeklinde kullanılabilir. Ör: import rastgele_sayi
  247. 247. Nesne Tabanlı Programlama (Object Oriented Programming) • Nesneler (sınıflar) temel alınarak gerçekleştirilen bir programlamadır. • Sınıf (Class) – Nesne (Object) • Metot (Method) – Kalıtım (Inheritance)
  248. 248. Sınıf Oluşturmak class sinifimiz: sınıf içi tanımlama ve kullanım.. veya class sinif():
  249. 249. Örnek class insan: def __init__(self,isim): self.isim = isim def merbaha(self): print("Merhaba, benim adım " + self.isim) insan1 = insan("Murat") insan2 = insan("Mehmet") insan1.merbaha() insan2.merbaha()
  250. 250. Nesne Uygulaması class ogrenciler: ogrenci=[] def __init__(self,adi): self.adi=adi self.ogrenci_ekle() def ogrenci_ekle(self): self.ogrenci.append(self.adi) print(self.adi,"adlı öğrenci eklendi") def ogrenci_liste(self): print("Öğrenci Listesi:") for kisi in self.ogrenci: print(kisi) ogr1=ogrenciler('Murat KARA') ogr1=ogrenciler("Ali DAL") ogr1.ogrenci_liste()
  251. 251. Ödev 1. Kullanıcı tarafından müşteri bilgilerinin girildiği (ekleme), 2. Müşteri listesinden rastgele birisini veren(listeleme), 3. Ekleme ve listelemeyi fonksiyon olarak yapan, 4. Bu işlemleri yapan programı modül olarak çağıran, 5. Programı yazınız.
  252. 252. HATA YAKALAMA-AYIKLAMA 15. Hafta
  253. 253. Hata Programın çalışmasında karşılaşılan istenmeyen durumlar. • Hata Türleri; – Programcı Hataları (Error) • Yazım hataları (Syntax Error gibi..) – Program Kusurları (Bug) • Sistem hataları (İşletim sistemi, buffer overflow gibi..) – İstisnalar (Exception) • Kodlarda mantık hatası (Sayı yerine metin girme, 0’a(sıfıra) bölme hatası, vb.. )
  254. 254. Hata (İstisna) Yönetimi (Exception Handling) Programın çalışma anında olağan dışı bir durum meydana gelirse buna exception(İstisna) diyoruz. Exception durumu meydana geldiğinde bu hatayı kontrol altına almak için hata yönetimi (exception handling) (İstisna Yönetimi) uygulamamız gerekmektedir.
  255. 255. Hata (İstisna) Yakalama Hata yakalama, yazdığımız beklenmedik durumlarda karşılaşacağımız hatalarda programın hata vermesi ya da kendini durdurması yerine hataya kendi istediğimiz şekilde cevap vermesini sağlama durumudur. – Hata X’de yapılacaklar.. • X hatası oluştu.. Lütfen dikkatli olunuz.. – Hata Y’de yapılacaklar.. • Y hatası oluştu.. Lütfen dikkatli olunuz.. gibi..
  256. 256. try - except try: Program kodları (Hata verebileceğini bildiğimiz kodlar) except HataAdı: Hatada yapılacaklar (Hata durumunda yapılacak kodlar, mesajlar)
  257. 257. Genel İstisna (Hata) try: print(x) except: print("Hata oluştu!") --------------- Hata oluştu!
  258. 258. ValueError (Değer Hatası) try: sayi1=int(input("İlk Sayıyı giriniz:")) sayi2=int(input("İkinci Sayıyı giriniz:")) sonuc=sayi1/sayi2 print(sayi1,"/",sayi2,"=",sonuc) except ValueError: print("Lütfen sadece sayı giriniz!")
  259. 259. ZeroDivisionError (0’a (sıfır’a) Bölüm Hatası ) try: sayi1=int(input("İlk Sayıyı giriniz:")) sayi2=int(input("İkinci Sayıyı giriniz:")) sonuc=sayi1/sayi2 print(sayi1,"/",sayi2,"=",sonuc) except ValueError: print("Lütfen sadece sayı giriniz!") except ZeroDivisionError: print("Bir sayıyı 0'a bölemezsiniz!")
  260. 260. try... except... as... try: sayi1=int(input("İlk Sayıyı giriniz:")) sayi2=int(input("İkinci Sayıyı giriniz:")) sonuc=sayi1/sayi2 print(sayi1,"/",sayi2,"=",sonuc) except (ValueError, ZeroDivisionError) as hata: print("Bir Hata Oluştu!") print("Orjinal Hata Mesajı:", hata)
  261. 261. try... except... else... try: sayi1=int(input("İlk Sayıyı giriniz:")) sayi2=int(input("İkinci Sayıyı giriniz:")) sonuc=sayi1/sayi2 print(sayi1,"/",sayi2,"=",sonuc) yanlis=str(sayi1/sayi2) print(yanlis) except ValueError: print("Lütfen sadece sayı giriniz!") except ZeroDivisionError: print("Bir sayıyı 0'a bölemezsiniz!") else: print("Hata Oluştu!")
  262. 262. try... except... finally... *Finally bloğu program hata verse de vermese de işletilecektir. try: sayi1=int(input("İlk Sayıyı giriniz:")) sayi2=int(input("İkinci Sayıyı giriniz:")) sonuc=sayi1/sayi2 print(sayi1,"/",sayi2,"=",sonuc) except ValueError: print("Lütfen sadece sayı giriniz!") except ZeroDivisionError: print("Bir sayıyı 0'a bölemezsiniz!") finally: print("Bu program ile girilen iki sayıya bölme işlemi yapılmıştır.")
  263. 263. raise (Hata Yükseltme, İlave bilgi) try: sayi1=int(input("İlk Sayıyı giriniz:")) sayi2=int(input("İkinci Sayıyı giriniz:")) sonuc=sayi1/sayi2 print(sayi1,"/",sayi2,"=",sonuc) except: print("Hata Oluştu! Ayrıntılı Hata Mesajı Aşağıda..!") raise
  264. 264. Uygulama Kullanıcıdan aldığı verileri dosyaya yazan ve sonra dosyayı okuyan program, sonunda da dosya kapatılmıştır yazmakta ve dosyayı kapatmaktadır. try: veri=input("Lütfen veri giriniz:") dosya=open("dosya1.txt","a") dosya.write(veri) #dosya.close() #dosya=open("dosya1.txt","r") print("Girdiğiniz veriler:",dosya.read()) except: print("Hata oluştu..! Ayrıntılar aşağıda:") raise finally: print("Açılan Dosya kapatılmıştır.!") dosya.close()
  265. 265. Ödev • 1 den 100 kadar aralıkta bir sayı bulan, • Kullanıcının girdiği sayı ile karşılaştırıp doğru ise tebrik edecek yanlış ise bulamadın yazacak, • Kullanıcı harf girerse Lütfen sayı giriniz yazan, • Kullanıcı eksi sayı girerse hata oluştu mesajı ile ayrıntıları veren, • Programı try-except ile birlikte yazınız.
  266. 266. WEB TABANLI PROGRAMLAMA 14. Hafta
  267. 267. Web Tabanlı Programlama
  268. 268. Python Web Framework • Django • TurboGears • Web2py • Grok • Zope2 • Tornado • Bottle • Flask • Pyramid • Falcon • … https://wiki.python.org/moin/WebFrameworks
  269. 269. Python GUI Programlama • Tkinter • PyQT • Kivy • Pygame • PyGUI • WxPython • PyForms • … • https://wiki.python.org/moin/GuiProgramming
  270. 270. Django • Python ile yazılmış açık kaynak bir web çatısıdır(framework). • İsmini Caz gitaristi Django Reinhardt Grubun isminden almaktadır. • BSD ile lisanslıdır. • Django yazılım vakfı vardır. • https://www.djangoproject.com
  271. 271. Django Kurulumu Python paket yöneticisi pip ile kurulum gerçekleşmektedir. (https://pypi.org/project/pip/) - pip install paket_adı • Linux – pip install django • Windows – pip install django
  272. 272. Django Kurulumu (Windows-pip)
  273. 273. Django Kurulduğu dizin; • C:UsersMurat KARAAppDataLocalProgramsPythonPython36-32Scripts> • django-admin startproject merhaba • python manage.py runserver • python manage.py startapp webdjango
  274. 274. Django
  275. 275. Django Admin
  276. 276. Django
  277. 277. İçerik (Hafta/Konu) 1. Tanışma, Giriş, Temel Bilgi ve Kavramlar 2. Python programlama dili nedir? Neden Python? Nasıl Çalışır? 3. Python 2x ve 3x sürümleri ve Python kurulumu, ilk programımız 4. Değişkenler 5. İşleçler ve Koşullar 6. Döngüler 7. Karakter Dizileri 8. Ara Sınav (Vize) 9. Dosya İşlemleri 10. Fonksiyonlar 11. Listeler ve Demetler 12. Sözlükler ve Kümeler 13. Nesne Tabanlı Programlama 14. Web Tabanlı Programlama 15. Hata Yakalama-Ayıklama ve hatalar 16. Genel Tekrar ve Finale Hazırlık http://www.muratkara.com/python
  278. 278. Python Programlama Diline Giriş (SD0194) Murat KARA 2018

×