Open Source Coding: Python



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

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

EYLÜL 2012 İŞLETİM SİSTEMLERİ. Enformatik Bölümü

İşletim Sistemleri; İÇERİK. Yazılım BİLGİ TEKNOLOJİLERİ VE UYGULAMALARI Yazılım Türleri

Turquaz. Açık kodlu muhasebe yazılımı Turquaz Proje Grubu

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

Java Temel Özellikleri

Linux İşletim Sistemleri. Eren BAŞTÜRK.

İŞLETİM SİSTEMLERİ. Enformatik Bölümü

Python ile Programlamaya Giriş DERS 1: PYTHON YÜKLENMESİ VE GENEL BİLGİLER DR. HÜSEYİN BAHTİYAR

C# nedir,.net Framework nedir?

Java ve Linux. Bora Güngören Portakal Teknoloji Akademik Bilişim

İSTANBUL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ SİSTEM PROGRAMLAMA DERSİ. Öğr.Gör. Mehmet DEMİR

Açık Kaynak Kodlu Yazılım

Kullanıldığı Başlıca Siteler

BİLGİ İŞLEM DERS 1. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ

Akademik Dünyada Özgür Yazılım. Akademik Dünyada. Onur Tolga Şehitoğlu

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

Linux ve Windows Üzerinde C ve C++ Kullanımı

Project Vesta Documentation

Pardus. S.Çağlar Onur, 21 Aralık Pardus Projesi [TÜBİTAK / UEKAE] Linux Kullanıcıları Derneği

Pardus. A. Murat Eren, 25 Mart Pardus Geliştiricisi. Pardus Yenilikleri Sık Sorulan Sorular

R ile Programlamaya Giriş ve Uygulamalar

Android e Giriş. Öğr.Gör. Utku SOBUTAY

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.

LABORATUVAR ÇALIŞMASI 1 - Python a Giriş

Temel Linux Eğitimi 1., 2. ve 3. Bölümler

Zope Uygulama Sunucusu

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların

BİL 542 Paralel Hesaplama. Dersi Projesi. MPJ Express Java Paralel Programlama

OMNET Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları. GYTE - Bilgisayar Mühendisliği Bölümü

Ruby Nedir? 1.1 Amaçlar. 1.2 Ruby nin Yapısal Sıradüzeni

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. 26 Şub Öğr. Gör.

Linux'ta Kabuk ve Kabuk Programlama

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

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ü

RPM Hazırlama Sanatı

Start : Bu method init methodundan hemen sonra çalışır ve applet dosyası yürütülmeye başladığında çalışmaya başlar.

PostgreSQL ile NoSQL. Gereksinimlerinizi Karşılamak

I. Oturum: GNU/LINUX A GİRİŞ

Kaya Oğuz.

Qlik Sense için sistem gereksinimleri. Qlik Sense June 2017 Copyright QlikTech International AB. Tüm hakları saklıdır.

Temel Linux Eğitimi. İçindekiler

İnternet Programcılığı

ÖZGÜR YAZILIMLAR İLE J2EE

PYTHON PROGRAMLAMA DİLİ

Veri Tabanı Yönetim Sistemleri Bölüm - 3

PyQt ile İş Uygulaması Geliştirimi

PostgreSQL Veritabanı Sunucusu Devrim GÜNDÜZ.

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ

Bilgisayarın Yapıtaşları

Metin Editörleri YRD. DOÇ. DR. ENGİN CEMAL MENGÜÇ. ALINTI:

IOT NEDİR? Bölüm 1. Internet of Things ekosistemi altında donanım, programlama, veri tabanı, veri analizi gibi alt yapılar yer almaktadır.

MATLAB A GİRİŞ. EE-346 Hafta-1 Dr. Ayşe DEMİRHAN

Python Web 2.0 Python ve Web 2.0 Son. Python ve Web 2.0. Gökmen GÖKSEL, 3 Mayıs 2007

Bilgisayar Yazılımları

ORM & Hibernate. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu

Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.

4. Bölüm Programlamaya Giriş

Temel Bilgisayar (Basic Computer) Yazılım (Software)

GNU/Linux ve Özgür Yazılım. Mahir B. Aşut EkoPC Kurucu Ortağı ve Yöneticisi, LKD Üyesi

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

Bölüm1. İlk Bilgiler ISBN

DBMAIL KURULUMU BELGESI (Howto Install Dbmail) Yazan: Ozgur Karatas

& (Hosting Desteği)

Data Science Boot Camp

Linux Dosya Yapısı. Eren BAŞTÜRK.

PostgreSQL 9.3 Kullanılabilirlik ve Başarım

1.PROGRAMLAMAYA GİRİŞ

İNTERNET PROGRAMCILIĞI - II

BOOTLOADER MANUAL DOCUMENT

Sunum Planı. Django Nedir? Django projesi oluşturmak Basit bir blog uygulaması. Şablon Kullanımı Diğer özellikleri


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

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

Qlik Sense için sistem gereksinimleri. Qlik Sense 3.2 Telif Hakkı QlikTech International AB. Tüm hakları saklıdır.

PHP ye Giriş. Hidayet Doğan

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi

VIRTUALIZATION SANALLAŞTIRMA

Bacula Yedekleme Sistemi

VERİ TABANI YÖNETİM SİSTEMLERİ

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

ProFTPD FTP Sunucusu. Devrim GÜNDÜZ. TR.NET Sistem Destek Uzmanı.

Mobil Test Otomasyon Araçları Bilgilendirme Test Ekibi Şubat 2017

Kaynak Kodlardan Derleme. Turquaz Muhasebe. Versiyon 0.2. Hüseyin Ergün. 26 Mart 2005

FreeBSD Nedir? Ömer Faruk Şen EnderUNIX.ORG Core Team Üyesi

Kemalettin YıldY KADIR HAS UNIVERSITY. UNIX SYSTEM ADMINISTRATOR

POSTGRESQL'de İleri Seviyede Veri Kurtarma ve Yedekleme

DERS SEÇİM KILAVUZU. Sınıf Dönemi Kodu Adı Sınıf Dönemi Kodu Adı. Nesne Yönelimli Programlama. Yazılım Tasarımı ve Mimarisi

PHP 1. Hafta 1. Sunum

Linux un Temel Bileşenleri. Linux Nedir? Aydın ÜSTÜN (Selçuk Üniversitesi) e-posta:

Bazı Gömülü Sistemlerde OpenCV ile Performans Analizi

BİT in Temel Bileşenleri (Yazılım-1)

Efe Çiftci Çankaya Üniversitesi Bilgisayar Mühendisliği Bölümü Kasım 2012 CENG 191 Computer Engineering Orientation Özel Sunumu

PYTHON PROGRAMLAMA DİLİ

Özgür Yazılım, İş ve Kariyer Modelleri. Mahir B. Aşut EkoPC Kurucu Ortağı ve Yöneticisi, LKD Üyesi

CYGWIN KURULUMU ve KULLANIMI

Özgür ve Açık Kaynak Kodlu Yazılımlar Kullanılarak Merkezi Servisler Nasıl Verilebilir?

BMS-302 İleri Web Programlama. İş Parçacığı (Thread) ve Soket (Socket) Programlama

PHP ile İnternet Programlama

Transkript:

Bilkent Üniversitesi Özgür Yazılım ve İnternet Teknolojileri Kulübü Open Source Coding: Python Bölüm 1: Python a Giriş

Python nedir? Genel amaçlı çok paradigmalı kolay okunabilirliği amaçlayan yüksek seviyeli açık kaynak kodlu platform-bağımsız bir programlama dili. 2

Python Tarihçesi Guido van Rossum tarafından tasarlanmış. Adı Monty Python isimli İngiliz komedi grubundan geliyor. 1991: Yayınlanan ilk sürüm: 0.90 2000: Python 2 2008: Python 3 En son kararlı sürümler: 3.3.4 ve 2.7.6 3

4

Neden Python? 5

Yazılım Kalitesi Okunabilirlik: basit söz dizimi, dinamik türler Minimalizm Sürdürülebilirlik Çoklu Paradigma: Imperative Nesne yönelimli Fonksiyonel 6

7

8

Üretkenlik Hızlı kod yazma Geniş kütüphane desteği Aradığınız işi yapan fonksiyon bir import uzağınızda! Komut satırı betikleri #! /usr/bin/env python 9

Çoklu Platform UNIX benzeri platformlar: GNU/Linux, OS X, BSD, Solaris Windows Bir kere yaz, her yerde çalıştır 10

Python ile neler yapılabilir? Hemen hemen her şey! 11

Sistem Programlama komut satırı araçları POSIX arayüzü soketler, pipe lar, çoklu işlemler 12

GUI (Grafik Arayüzü) Programlama TkInter PyQt PyGTK 13

Web Programlama HTTP ve soket iletişimi XML, JSON Web Frameworkler Django, TurboGears, web2py, Pylons, Zope 14

Veritabanı Programlama Kapsamlı veritabanı arayüzleri: SQL: Oracle, PostgreSQL, MySQL, SQLite NoSQL: Hadoop, MongoDB, Cassandra, Redis ORM (Object-Relation Mapping) SQLAlchemy, Django ORM 15

Sayısal ve Bilimsel Programlama SciPy & Scientific Python, NumPy Python ın kolaylıkları + hızlı matematiksel hesaplamalar grafik çizimleri PyPy Ağır algoritmaları daha hızlı çalıştırmak 16

Robotik ve Yapay Zeka PyRo Robot kontrolü PyBrain Yapay zeka NLTK Natural Language Processing 17

Oyun Programlama PyGame cgkit pyglet PySoy Panda3D 18

Kimler Python kullanıyor? 19

20

21

22

23

Sublime Text 24

sürüm < 6.0 25

26

27

28

29

Frets on Fire 30

31

Google App Engine 32

Raspberry Pi projesinde programlama eğitimi 33

34

ve daha bir çokları! ve siz! 35

Python nasıl çalışır? 36

Python Sanal Makinesi ve Byte Code Python programları her değişiklikten sonra, ilk çalıştırmada byte code a derlenir..pyc dosyası PVM, byte code u çalıştırır, böylece program çalışır. Ayrıca derleme aşaması yok. 37

Python Türevleri CPython: Standart Python Jython: Python Java implementasyonu IronPython: Python.NET/mono implementasyonu Stackless Python: micro thread desteği ile daha iyi paralel işlemler PyPy: Python ı makine koduna derleyerek performans artışı 38

Hız Meselesi Python vs makine kodu PyPy C ile yazılmış Python kütüphaneleri 39

Python ı Çalıştırmak 40

Python Yorumlayıcısı Python kodlarını çalıştıran ana program UNIX, GNU/Linux: $ python program.py Windows: Python Shell, IDLE Environment ayarlarıyla python komutu 41

Python Shell İnteraktif komut satırı $ python Python 3.3.4 (v3.3.4:7ff62415e426, Feb 9 2014, 00:29:34) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 42

IDLE GUI 43

.py dosyasına çift tıklayarak çalıştırmak Windows ve OS X Python Launcher sayesinde mümkün. GNU/Linux Sistemdeki File Manager da gerekli ayarlar yapılabilir. 44

Python ı Kurmak 45

Windows & OS X için Python 3.3 http://python.org/download/ adresinden ilgili kurulum dosyası indirilip kurulabilir. 46

GNU/Linux veya OS X Sisteminizde zaten Python var! Ama hangi versiyon? $ python -V $ python3 -V 47

Ubuntu: Depodan kurmak $ sudo apt-get update $ sudo apt-get install python3 48

GNU/Linux: Kaynak Kodundan Derlemek Debian ve Ubuntu için: bağımlılıklar: $ sudo apt-get update $ sudo apt-get install build-essential libsqlite3-dev sqlite3 bzip2 libbz2-dev! $ wget http://python.org/ftp/python/3.3.4/ Python-3.3.4.tar.bz2 $ tar jxf./python-3.3.4.tar.bz2 $ cd./python-3.3.4 $./configure --prefix=/opt/python3.3 $ make && sudo make install 49

Fedora 20: Depodan kurmak $ sudo yum makecache fast $ sudo yum install python3 50

GNU/Linux: Kaynak Kodundan Derlemek Fedora, Centos, Red Hat için: bağımlılıklar: $ yum makecache fast $ sudo yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel! $ wget http://www.python.org/ftp/python/3.3.4/ Python-3.3.4.tar.bz2 $ tar -xjf Python-3.3.4.tar.bz2 $ cd./python-3.3.4 $./configure --prefix=/opt/python3.3 $ make && sudo make install 51

Python 2 mi, 3 mü? 52

Versiyon Çatışması Python 2 vs Python 3: Geriye doğru uyumluluk problemi print vs print() Sonuç: Bağımlılık sorunları Son versiyona geçişte yavaşlama 53

Python 2 Efsanesi Yıllar boyu çoğu GNU/Linux ve OS X işletim sistemlerinde varsayılan 2.7: son ana versiyon Yıllar boyu geliştirilen kapsamlı kütüphaneler Python 3 ten alınan birtakım özellikler 54

Python 3 Önyargıları Güncel olmak Kütüphane bağımlılığınız var mı? Unicode rahatlığı Backport değil, gerçeği Asla Python 2 ye backport edilmeyecek özellikler 55

Teşekkürler! Bir sonraki oturumda görüşmek üzere. 56