Python Dilinin znitelikleri Programlama Eitiminde ve Yazlm Dnyasndaki

  • Slides: 28
Download presentation
Python Dilinin Öznitelikleri, Programlama Eğitiminde ve Yazılım Dünyasındaki Yeri Uğur Ayvaz, Adil Çoban, Hüseyin

Python Dilinin Öznitelikleri, Programlama Eğitiminde ve Yazılım Dünyasındaki Yeri Uğur Ayvaz, Adil Çoban, Hüseyin Gürüler, Musa Peker Muğla Sıtkı Koçman Üniversitesi, Bilişim Sistemleri Mühendisliği Bölümü, Muğla 1/28

Sunuma Genel Bir Bakış 2/28 • Amaç • Python programlama dili ve kökeni •

Sunuma Genel Bir Bakış 2/28 • Amaç • Python programlama dili ve kökeni • Python’un yapısı ve öznitelikleri • Programlama eğitiminde Python’un yeri • Python’un kullanım alanları ve Python uygulamaları • Dünya’da Python kullanımına olan yönelim • Sonuç ve Öneriler • Kaynaklar

Ø Amaç 3/28 ü Python dilinin kendine has özellikleri tanıtmak ü Python’un programlamaya giriş

Ø Amaç 3/28 ü Python dilinin kendine has özellikleri tanıtmak ü Python’un programlamaya giriş dersi olarak verilmesinin uygunluğunu incelemek ü Dünyada Python kullanımına olan yönelimi araştırmak ü Python dilinin yeterliliklerini araştırmak ve yapılabilecekler hakkında fikir vermek

Ø Python programlama dili ve kökeni Python, nesne tabanlı, çok amaçlı, dinamik kodlanan ve

Ø Python programlama dili ve kökeni Python, nesne tabanlı, çok amaçlı, dinamik kodlanan ve yüksek seviyeli bir programlama dilidir. • • 4/28 Nesne Tabanlı ? • Çok Amaçlı ? • Dinamik Kodlanan ? Yüksek Seviyeli ?

Ø Python programlama dili ve kökeni Python ilk olarak Guido van Rossum tarafından 1990’lı

Ø Python programlama dili ve kökeni Python ilk olarak Guido van Rossum tarafından 1990’lı yılların başlarında geliştirilmeye başlanmıştır. Ortaya çıkışında bir başka çok amaçlı programlama dili olan ABC’nin etkisi olmuştur [1]. Centrum Wiskunde & Informatica (CWI) Python’un ilk sürümü olan 0. 9. 0, 20 Şubat 1991 tarihinde kullanılmaya başlanmıştır. Python’un günümüzde en çok kullanılan ve en stabil sürümleri 2. 7 ve 3. 4 sürümleridir. 5/28

Ø Python’un yapısı ve öznitelikleri • Söz dizimi (Syntax) yapısı • Girintileme (indentation) Blok

Ø Python’un yapısı ve öznitelikleri • Söz dizimi (Syntax) yapısı • Girintileme (indentation) Blok 1 Blok 2 Blok 3 Sonu Blok 2 Sonu Blok 1 Sonu 6/28

Ø Python’un yapısı ve öznitelikleri • Temiz ve okunaklı kodlama • 7/28 Python’un girintilemeye

Ø Python’un yapısı ve öznitelikleri • Temiz ve okunaklı kodlama • 7/28 Python’un girintilemeye (indentation) çok önem veriyor oluşu özellikle programlamaya yeni başlayanlara düzenli ve okunaklı kod yazma alışkanlığı kazandırmaktadır. • ; kullanmak zorunda değilsiniz. • {} kullanmak zorunda değilsiniz.

Ø Python’un yapısı ve öznitelikleri • ! Python’da Veri Tipleri i. string (str) ve

Ø Python’un yapısı ve öznitelikleri • ! Python’da Veri Tipleri i. string (str) ve character (char) veri tipleri, ii. integer (int), float gibi veri tipleri, iii. listeler (lists), tüpler(tuples), sözlükler (dictionaries) ve dosyalar (files) Değişkenden önce veri tipini belirtmeye gerek yoktur. 8/28 • Tip Dönüşümleri int str int Örn: print (str(sayı)) Örn: yaş 1 = ‘ 25’ yaş 2 = 17 toplam = int(yaş 1) + yaş 2

Ø Python’un yapısı ve öznitelikleri • Nesne Tabanlı ? • Her veri tipi bir

Ø Python’un yapısı ve öznitelikleri • Nesne Tabanlı ? • Her veri tipi bir Sınıftır. • Her değişken bir Nesnedir. sayi=10 metin=''Akademik Bilişim'' liste=[] sozluk={} tuple=() 9/28

Ø Python’un yapısı ve öznitelikleri • Nesne Tabanlı ? • Class Yapısı: class Sınıf.

Ø Python’un yapısı ve öznitelikleri • Nesne Tabanlı ? • Class Yapısı: class Sınıf. Adı: def Deyim 1 sonu def Deyim 2 sonu 10/28

Ø Python’un yapısı ve öznitelikleri • Dinamik Kodlanan? Late Binding Dinamik Kodlanan Kod Derle

Ø Python’un yapısı ve öznitelikleri • Dinamik Kodlanan? Late Binding Dinamik Kodlanan Kod Derle ve Çalıştır true Sonuç (Output) fals e • Statik Kodlanan ? Statik Kodlanan Kod Derle fals e 11/28 Virtual Method Table (V-table) true Çalıştır Ji. T Sonuç (Output)

Ø Python’un yapısı ve öznitelikleri • 12/28 Yüksek seviyeli dil? ü Farklı platformlarda çalışabilme

Ø Python’un yapısı ve öznitelikleri • 12/28 Yüksek seviyeli dil? ü Farklı platformlarda çalışabilme (Cross-platform) ü Konuşma diline yakınlık

Ø Python’un yapısı ve öznitelikleri • Python’un Öznitelikleri Kolay Anlaşılır Dinamik Farklı platform Nesne

Ø Python’un yapısı ve öznitelikleri • Python’un Öznitelikleri Kolay Anlaşılır Dinamik Farklı platform Nesne Yönelimli Arayüz Programlama Açık Kaynak Kodlu Güçlü Standart Kütüphane Diğer Dillerle Entegre Çalışabilme 13/28

Ø Python’un yapısı ve öznitelikleri • Python’un Öznitelikleri Diğer Dillerle Entegre Çalışabilme C/C++ :

Ø Python’un yapısı ve öznitelikleri • Python’un Öznitelikleri Diğer Dillerle Entegre Çalışabilme C/C++ : Cython C#/. NET : Iron. Python Java : Jython PHP : Pi. P (Python in PHP) Perl : Py. Perl Prolog : Py. Log 14/28

Ø Programlama eğitiminde Python’un yeri Python programlama dili; ü Basit, anlaşılır söz dizimi (syntax)

Ø Programlama eğitiminde Python’un yeri Python programlama dili; ü Basit, anlaşılır söz dizimi (syntax) yapısı ü Girintilemeyi (indentation) zorunlu kılması ( Düzenli ve okunaklı kod yazmaya teşvik) ü Değişken tanımlamada sunduğu kolaylık ü Değişken tip dönüşümlerindeki kolaylığı Her bir değişkenin aslında ilgili tipe ait birer nesne oluşu Sınıf oluşturmadaki kolaylık ve anlaşılabilirlik Zengin standart kütüphanesi Sadece koda odaklanma imkanı ü ü gibi özelliklerinden dolayı programlamaya giriş dersi olarak tercih edilmektedir. 15/28

Ø Programlama eğitiminde Python’un yeri ü Philip Guo Python 16/28 Java MATLAB C C++

Ø Programlama eğitiminde Python’un yeri ü Philip Guo Python 16/28 Java MATLAB C C++ Schem e ABD’de aralarında MIT, Berkeley, Michigan, Columbia gibi saygın üniversitelerin de bulunduğu üniversitelerdeki toplam 39 bilgisayar bilimleri bölümünün 27’sinde Python eğitimi verilmektedir [2]. Scracth

Ø Python’un kullanım alanları ve Python uygulamaları • Çok Amaçlı? • Python’un Kullanım Alanları:

Ø Python’un kullanım alanları ve Python uygulamaları • Çok Amaçlı? • Python’un Kullanım Alanları: 17/28 ü Hesaplamalı Biyoloji ve Biyoenformatik Bilimlerinde Python Kullanımı ü REST API ve Web Çatısı Oluşturma ü Grafiksel Kullanıcı Arayüzü, 3 D Yazılım ve Oyun Yazılımları Geliştirme ü Ağ Modelleme ü Web Tabanlı Uygulamalar ü Bilimsel Hesaplamalar ü Makine Öğrenmesi ve Veri Madenciliği

Ø Python’un kullanım alanları ve Python uygulamaları • Çok Amaçlı? ü Hesaplamalı Biyoloji ve

Ø Python’un kullanım alanları ve Python uygulamaları • Çok Amaçlı? ü Hesaplamalı Biyoloji ve Biyoenformatik Bilimleri § ü ü 18/28 Biomart, Bio. Python, Phenix REST API ve Web Çatısı § Flask, Eve, Pyramid, Turbo. Gears ve Django (Web çatıları) § Ramses (Rest. Full API for Pyramid) Grafiksel Kullanıcı Arayüzü, 3 D Yazılım ve Oyun § Matplotlib (Matlab ve Mathematica) § Wx. Python, Py. Qt ve Tkinter § Pyglet, Panda 3 D, Py. Soy

Ø Python’un kullanım alanları ve Python uygulamaları ü Ağ Modelleme § ü Web Tabanlı

Ø Python’un kullanım alanları ve Python uygulamaları ü Ağ Modelleme § ü Web Tabanlı Uygulamalar § ü Sci. Py (Science Python), Num. Py (Numerical Python) ve IPython (interaktif Python) , Matplotlib Makine Öğrenmesi ve Veri Madenciliği § 19/28 CGI (Common Gateway Interface) ve WSGI (Web Server Gateway Interface) Bilimsel Hesaplamalar § ü igraph, Networkx scikit-learn, Py. Brain

Ø Python’un kullanım alanları ve Python uygulamaları • 20/28 Python’la geliştirilen bazı yazılımlar ü

Ø Python’un kullanım alanları ve Python uygulamaları • 20/28 Python’la geliştirilen bazı yazılımlar ü Dropbox ü Django ü Orange ü Sage. Math ü Space. Py ü Make. Human

Ø Python’un kullanım alanları ve Python uygulamaları • Python Kullanan Bazı Kuruluşlar ü Google

Ø Python’un kullanım alanları ve Python uygulamaları • Python Kullanan Bazı Kuruluşlar ü Google ü Youtube ü Yahoo (Yahoo maps, Yahoo groups) ü United Space Alliance § 21/28 Workflow Automation System

Ø Dünya’da Python kullanımına olan yönelim Allen Peter ‘in yaptığı çalışmaya göre; 2014 yılında

Ø Dünya’da Python kullanımına olan yönelim Allen Peter ‘in yaptığı çalışmaya göre; 2014 yılında programlama dillerinin popülaritesi [3]. 22/28

Ø Dünya’da Python kullanımına olan yönelim Git. Hub verilerine göre; programlama dillerinin popülaritesinde son

Ø Dünya’da Python kullanımına olan yönelim Git. Hub verilerine göre; programlama dillerinin popülaritesinde son 7 yılda görülen değişim [4]. 23/28

Ø Dünya’da Python kullanımına olan yönelim Webrazzi’ nin hazırladığı ve 1387 kişinin katıldığı ‘Türkiye

Ø Dünya’da Python kullanımına olan yönelim Webrazzi’ nin hazırladığı ve 1387 kişinin katıldığı ‘Türkiye Yazılım Geliştiricileri Anketi’ ne göre Türkiye’de yazılımcıların en çok tercih ettiği programlama dilleri [5]. Ocak, 2015 24/28

Ø Dünya’da Python kullanımına olan yönelim Quartz ve uluslararası araştırma kuruluşu Brookings Institution ortak

Ø Dünya’da Python kullanımına olan yönelim Quartz ve uluslararası araştırma kuruluşu Brookings Institution ortak araştırmasına göre ABD’de programlama dillerinin kazandırdığı yıllık ortalama maaşlar (Dolar/$) [6]. Kasım, 2014 25/28

Ø Sonuç ve Öneriler 26/28 ü Güçlü, esnek ve işlevsel ü Proje geliştirmedeki kolaylık

Ø Sonuç ve Öneriler 26/28 ü Güçlü, esnek ve işlevsel ü Proje geliştirmedeki kolaylık ü Güçlü standart kütüphane ü Açık Kaynak Kodlu ü Sonradan eklenebilen ücretsiz modüller ü Platformdan bağımsız ü Farklı alanlarda proje geliştirilebilme konusundaki yeterlilik ü Öneri (Python programlama dili programlamaya giriş dersi olarak verilebilir)

Ø Kaynaklar [1] Dierbach, C. , “Introduction to Computer Science Using Python: A Computational

Ø Kaynaklar [1] Dierbach, C. , “Introduction to Computer Science Using Python: A Computational Problem-solving Focus”, Wiley Publishing, (2012). [2] Python is now the most popular introductory teaching language at top U. S. universities, 2014 -0707, http: //pgbovine. net/CACM-python-most-popular-teaching-language. htm, (Erişim: 04. 02. 2016). [3] Peter, A. , “An Introduction to Python Programming Language”, Linkedin, 30 -01 -2015, https: //www. linkedin. com/pulse/introduction-python-programming-language-allen-peter, (2015). (Erişim: 04. 02. 2016). [4] Git. Hub’ın kuruluşundan bugüne en popüler 10 programlama dili, http: //webrazzi. com/2015/08/21/githubin-kurulusundan-bugune-en-populer-10 -programlama-dili/, (Erişim: 04. 02. 2016) [5] Türkiye Yazılım Geliştiricileri Anketi, http: //webrazzi. com/2015/01/19/turkiye-yazilim- gelistiricileri -anketi-2014 -sonuclari/, (Erişim: 04. 02. 2016) [6] 27/28 These programming skills will earn you the most money, http: //qz. com/298635/theseprogramming-languages-will-earn-you-the-most-money/, November 2014. (Erişim: 04. 02. 2016).

Dinlediğiniz İçin Teşekkür Ederim ugur. ayvaz@mu. edu. tr Sorular 28/28 ?

Dinlediğiniz İçin Teşekkür Ederim ugur. ayvaz@mu. edu. tr Sorular 28/28 ?