37
PYTHON OĞUZCAN PAMUK

Python 101

Embed Size (px)

Citation preview

Page 1: Python 101

PYTHONOĞUZCAN PAMUK

Page 2: Python 101

PYTHON

AJANDA

▸ Hakkımda

▸ Neden Python ?

▸ Python 101

▸ Modüller

Page 3: Python 101

PYTHON

HAKKIMDA

▸ Güvenlik araştırmacısı

▸ Python sever

▸ Uygulama geliştiricisi

▸ oguzpamuk.com

Page 4: Python 101

PYTHON

NEDEN PYTHON ?

▸ Basit syntax, öğrenmesi kolay!

▸ Az zamanda çok iş. Diğer dillere göre daha az zamanda daha çok çıktı alabilmek mümkün.

▸ Derlemekle zaman kaybetmeden kolayca çalıştırabilme.

Page 5: Python 101

PYTHON

NEDEN PYTHON ?

▸ Farklı alanlarda kullanılabilir çok sayıda kütüphane

Page 6: Python 101

PYTHON

NEDEN PYTHON ? - ÖRNEK

▸ Büyük boyutlardaki dosyaları filtreleyebilir, dosyalarda kolayca aramalar yapabilirsiniz.

▸ Nmap gibi tarama araçlarını kullanarak kendi otomasyonunuzu gerçekleştirebilirsiniz.

▸ Sosyal medyalar üzerinden bilgi toplayabilirsiniz.

▸ Network trafiğini izleyebilirsiniz.

▸ Daha fazlası için devam edelim..

Page 7: Python 101

PYTHON

PYTHON 101 - INTERPRETER

▸ Interpreter dil olmasının avantajı,console üzerinde kolayca deneyebilme imkanı

Page 8: Python 101

PYTHON

PYTHON 101 - YAZIM ŞEKLİ

▸ C programlama dilindeki parantezler yok!

▸ Python için önemli olan indentation.

Page 9: Python 101

PYTHON

PYTHON 101 - VERİ TİPLERİ

▸ String ve Integer en çok kullanılan veri tipleridir.

Page 10: Python 101

PYTHON

PYTHON 101 - YARDIM

▸ Python hakkındaki her şeyi yorumlayıcı üzerinden öğrenebilirsiniz.

Page 11: Python 101

PYTHON

PYTHON 101 - LİSTELER

▸ Listeler sayesinde verileri birlikte saklamak mümkün

Page 12: Python 101

PYTHON

PYTHON 101 - SÖZLÜKLER

▸ Anahtar-değer olarak değişkenleri saklayabileceğimiz veri yapısıdır.

Page 13: Python 101

PYTHON

PYTHON 101 - IF,ELIF,ELSE

▸ Koşul ifadelerinde if,elif ve else anahtar kelimeleri kullanılır.

Page 14: Python 101

PYTHON

PYTHON 101 - DÖNGÜLER

▸ Çeşitli şekillerde döngüler oluşturulabilir. Aşağıdaki örnekte 3 farklı döngü aynı işi yapmaktadır.

Page 15: Python 101

PYTHON

PYTHON 101 - FONKSİYONLAR

▸ Okunabilirliği arttırmak için işleri birbirinden ayıran fonksiyonlar yazılabilir.

Page 16: Python 101

PYTHON

PYTHON 101 - HATA YAKALAMA

▸ Aşağıdaki örnek, ip adresi üzerinden hostname bilgisini çözmektedir. Ip adresine ulaşamadığı durumlarda exception fırlatmaktadır.

Page 17: Python 101

PYTHON

PYTHON 101 - ANA YAPI

▸ Aşağıdaki örnekte olduğu gibi bir main fonksiyonu oluşturulur ve çalıştırılabilir olması için “if” bloğu içerisinde çağırılır.

Page 18: Python 101

PYTHON

MODULLER

▸ Standart kütüphaneler.

▸ https://docs.python.org

▸ 3. parti kütüphaneler.

▸ https://pypi.python.org/pypi

Page 19: Python 101

PYTHON

STANDART MODÜLLERİ NASIL KULLANABİLİRİM ?

▸ docs.python.org web sitesi üzerinden varolduğunu teyit ettiğimiz kütüphanelerin kullanımı oldukça basittir.

▸ Herhangi bir download işlemine gerek duyulmaz.

▸ Sadece import et!

▸ import socket

▸ import os

Page 20: Python 101

PYTHON

3. PARTİ MODÜLLERİ NASIL KULLANILIRIM?

▸ pypi.python.org/pypi web sitesi üzerinden işimize yarayan kütüphaneyi buluyoruz.

▸ 2 farklı şekilde sisteme yükleyebiliriz.

▸ pip install paket_ismi (en zahmetsiz yöntem)

Page 21: Python 101

PYTHON

PIP - PYTHON PAKET YÖNETİM SİSTEMİ

▸ Buradan get-pip.py uzantılı kurulum betiğini indirip komut satırından aşağıdaki gibi çalıştırıyoruz;

▸ Linux için : sudo python get-pip.py

▸ Windows için : python get-pip.py , windows işletim sistemlerinde Command Prompt yönetici olarak çalıştırılmalıdır.

▸ pip install paket_adı

▸ pip uninstall paket_adı

▸ pip show paket_adı

Page 22: Python 101

PYTHON

MANUEL OLARAK PAKET KURULUMU

▸ pypi.python.org/pypi web sitesinden paketi indiriyoruz.

▸ İndirdiğimiz dosyanın içerisine girerek (zip dosyalarını açmayı unutmayalım) aşağıdaki komutu çalıştırıyoruz;

▸ python setup.py install

Page 23: Python 101

PYTHON

MODÜLLERE BAŞLARKEN

▸ Bir modülü kullanmadan önce neler yapabildiğini bilmek önemlidir. Bunun en kolay yolu;

Page 24: Python 101

PYTHON

MODÜLLERE BAŞLARKEN

Page 25: Python 101

PYTHON

OS MODÜLÜ

▸ İşletim sistemi üzerinde çeşitli işlemler yapmaya yarar.

▸ Komut çalıştırma

▸ Dosya okuma - oluşturma - değiştirme

▸ Monitoring

Page 26: Python 101

PYTHON

OS MODÜLÜ

Page 27: Python 101

PYTHON

SYS MODÜLÜ

▸ C programlama diliyle yazılmıştır.

▸ dir(sys) yada help(sys) ile detaylarını öğrenebiliriz.

▸ Sistem ile ilgili fonksiyonları barındırır.

▸ Python sürümünü yönetmeyi sağlar.

▸ Komut satırından input almayı sağlar.

Page 28: Python 101

PYTHON

SYS MODÜLÜ

Page 29: Python 101

PYTHON

SUBPROCESS MODÜLÜ

▸ İşletim sistemi komutlarını çalıştırabilmek için kullanılır.

▸ os.system ile en temel farkı komut çıktısını direkt olarak alabiliyor olmamızdır.

Page 30: Python 101

PYTHON

URLLİB2 MODÜLÜ

▸ Web istekleri için geliştirilmiştir.

▸ İstek yapılan sayfanın bilgilerine erişebilinir. (HTML kodu gibi)

Page 31: Python 101

PYTHON

BEAUTIFULSOUP MODÜLÜ

▸ XML ve HTML parser olarak kullanılabilir.

▸ Genel olarak urllib modülüyle kullanılarak html parser olarak kullanılır.

Page 32: Python 101

PYTHON

YEREL (LOCAL) İP ADRESİNİ BULMA

▸ Yerel ağ içerisindeki ip adresinizi aşağıdaki script ile kolayca öğrenebilirsiniz.

Page 33: Python 101

PYTHON

DIŞ (EXTERNAL) İP ADRESİNİ BULMA

Page 34: Python 101

PYTHON

MD5 DEĞERİ HESAPLAMA

Page 35: Python 101

PYTHON

GOOGLE TRANSLATE API

▸ Google translate API kullanarak desteklenen tüm dillerde çeviri işlemi yapabilirsiniz.

Page 36: Python 101

PYTHON

RANDOM MODÜLÜ

Page 37: Python 101

PYTHON

BASE64 MODÜLÜ

▸ Verileri farklı bir formatta gösterme şekillerinden biridir.(Encoding)