Python'un güçlü özellikleri ve Pip paket yöneticisi ile yazılım geliştirme dünyasına adım atın. Basit sözdizimi, zengin kütüphaneler ve kolay paket yönetimi ile projelerinizi hayata geçirin.
Anlaşılır ve basit dil yapısı
Pip ile binlerce hazır modül
İzole geliştirme ortamları
Farklı programlama yaklaşımları
Kolay öğrenilebilen ve çok yönlü bir programlama dili
Python, Guido van Rossum tarafından 1991 yılında geliştirilen, yüksek seviyeli, yorumlamalı bir programlama dilidir.
Python, okunabilirliği ve temiz sözdizimini vurgulayan bir tasarıma sahiptir. Bu özelliği, hem yeni başlayanlar için öğrenme kolaylığı sağlar hem de deneyimli geliştiriciler için kod bakımını basitleştirir. "Bir işi yapmanın sadece bir yolu olmalı" felsefesi üzerine kurulu olan Python, kodun anlaşılabilir ve tutarlı olmasını teşvik eder.
Python'un yaygın olarak kullanılan iki ana sürümü vardır: Python 2 ve Python 3. Python 2'nin resmi desteği 2020 yılında sona ermiştir ve yeni projeler için Python 3 kullanılması önerilmektedir.
# Python 2
print "Merhaba, Dünya!"
# Python 3
print("Merhaba, Dünya!")
NumPy, Pandas, Matplotlib ve SciPy gibi kütüphaneler ile veri işleme, analizi ve görselleştirme.
TensorFlow, PyTorch, scikit-learn gibi kütüphaneler ile AI ve ML uygulamaları geliştirme.
Django, Flask, FastAPI gibi çerçeveler ile web uygulamaları ve API'ler oluşturma.
Sistem yönetimi, test otomasyonu ve tekrarlayan görevlerin otomatikleştirilmesi.
Python ile programlamaya başlamak çok kolaydır. İşte basit bir "Merhaba Dünya" örneği:
# İlk Python programımız
print("Merhaba, Python Dünyası!")
# Değişken kullanımı
ad = "Ahmet"
yas = 30
print(f"{ad} {yas} yaşındadır.")
# Basit bir fonksiyon
def selamla(isim):
return f"Merhaba, {isim}!"
# Fonksiyonu çağırma
mesaj = selamla("Ayşe")
print(mesaj)
Python ekosistemindeki binlerce pakete erişimin anahtarı
Pip (Pip Installs Packages), Python için standart paket yönetim sistemidir. Python programlama dilinin paket ekosistemini yönetmek için kullanılan temel araçtır.
pip --version
# veya
pip -V
Pip, komut satırı arayüzü üzerinden çalışır ve çeşitli alt komutlarla paket yönetimini sağlar. İşte en yaygın pip komutları:
# Temel paket kurulumu
pip install paket_adi
# Belirli bir sürümü kurma
pip install paket_adi==1.0.0
# En son sürümü kurma
pip install --upgrade paket_adi
# veya
pip install -U paket_adi
# Sürüm aralığı belirtme
pip install "paket_adi>=1.0.0,<2.0.0"
# Kurulu paketleri listeleme
pip list
# Detaylı liste
pip list -v
# Güncellenebilir paketleri bulma
pip list --outdated
# Paket arama
pip search paket_adi # Not: Bu komut artık kullanımdan kaldırılmıştır.
# Paket kaldırma
pip uninstall paket_adi
# Etkileşimli kaldırma (onay sorarak)
pip uninstall -y paket_adi
# Paket hakkında bilgi
pip show paket_adi
# Detaylı bilgi
pip show -v paket_adi
Projelerinizin bağımlılıklarını yönetmek için pip, requirements.txt adlı bir dosya kullanmanıza olanak tanır. Bu, projenizin hangi paketlere ihtiyaç duyduğunu belgelemeye ve aynı ortamı başka bilgisayarlarda yeniden oluşturmaya yardımcı olur.
# Tüm kurulu paketleri dışa aktarma
pip freeze > requirements.txt
# Çıktı örneği (requirements.txt içeriği):
# numpy==1.21.0
# pandas==1.3.0
# matplotlib==3.4.2
# scikit-learn==0.24.2
# requirements.txt'deki tüm paketleri kurma
pip install -r requirements.txt
# Web uygulama gereksinimleri
Flask>=2.0.0,<3.0.0
SQLAlchemy==1.4.23
python-dotenv==0.19.0
# Veri işleme
pandas>=1.3.0
numpy>=1.20.0
# Test araçları
pytest==6.2.5
Sanal ortamlar, farklı Python projelerinin bağımlılıklarını birbirinden izole etmek için kullanılan özel Python ortamlarıdır. Her projenin kendi bağımlılıklarını ve sürümlerini ana sistemi etkilemeden yönetmesini sağlar.
# Sanal ortam oluşturma
python -m venv proje_ortami
# Windows'ta sanal ortamı aktifleştirme
proje_ortami\Scripts\activate
# Unix/macOS'ta sanal ortamı aktifleştirme
source proje_ortami/bin/activate
# Sanal ortamı devre dışı bırakma
deactivate
# Sanal ortamı aktifleştirdikten sonra:
# Paket kurulumu
pip install numpy pandas matplotlib
# Gereksinimleri dışa aktarma
pip freeze > requirements.txt
# Başka bir ortamda aynı paketleri kurma
pip install -r requirements.txt
Gerçek projelerde pip kullanımına dair örnekler
# 1. Sanal ortam oluşturma
python -m venv veri_analizi_ortami
source veri_analizi_ortami/bin/activate # Unix/macOS
# veya
veri_analizi_ortami\Scripts\activate # Windows
# 2. Gerekli paketleri kurma
pip install numpy pandas matplotlib seaborn scikit-learn jupyter
# 3. Jupyter Notebook başlatma
jupyter notebook
# 4. Projeyi bitirince gereksinimleri kaydetme
pip freeze > requirements.txt
# 5. Sanal ortamdan çıkma
deactivate
Açıklama: Bu senaryoda, veri analizi için gerekli temel paketleri içeren izole bir ortam oluşturuyoruz. Jupyter Notebook ile etkileşimli veri analizi yapılabilir ve sonuçta tüm bağımlılıklar dosyaya kaydedilir.
# 1. Sanal ortam oluşturma
python -m venv web_app_env
source web_app_env/bin/activate # Unix/macOS
# 2. Flask ve bağımlılıklarını kurma
pip install flask flask-sqlalchemy flask-login python-dotenv
# 3. Geliştirme sırasında yeni bağımlılıklar ekleme
pip install flask-wtf flask-migrate
# 4. Projeyi canlıya almak için gereksinimleri kaydetme
pip freeze > requirements.txt
click==8.0.1
Flask==2.0.1
Flask-Login==0.5.0
Flask-Migrate==3.1.0
Flask-SQLAlchemy==2.5.1
Flask-WTF==0.15.1
itsdangerous==2.0.1
Jinja2==3.0.1
MarkupSafe==2.0.1
python-dotenv==0.19.0
SQLAlchemy==1.4.23
Werkzeug==2.0.1
WTForms==2.3.3
Açıklama: Bu senaryoda, Flask web çerçevesi ve ilgili uzantılarını kullanarak bir web uygulaması geliştiriyoruz. Geliştirme sürecinde yeni paketler ekledikçe, tüm bağımlılıkları sürümleriyle birlikte kaydediyoruz.
# 1. Test için sanal ortam oluşturma
python -m venv test_env
test_env\Scripts\activate # Windows
# 2. Test araçlarını kurma
pip install pytest pytest-cov pytest-mock requests-mock
# 3. Test kapsamına özel paketleri kurma
pip install -e . # Mevcut paketi geliştirme modunda kurma
# 4. Test çalıştırma
pytest --cov=proje_adi tests/
# 5. CI/CD sistemi için gereksinimleri kaydetme
pip freeze > test-requirements.txt
Açıklama: Bu senaryoda, bir Python projesinin test ortamını kuruyoruz. Pytest ve ilgili eklentileri kullanarak kapsamlı testler yapabilir, `-e .` parametresiyle geliştirme modunda paket kurulumu sağlayabilir ve test kapsamını raporlayabiliriz.