← Back to list

Python ile Modül-Paket-Kütüphane Kavramları

Yazılım geliştirirken oldukça sık karşılaştığımız modül, paket ve kütüphane kavramları ve aralarındaki farkları anlamak büyük fark…

Cansu Doğan Aycı · 2024-12-20 12:47 · 4 claps · 4.3 min read
#python #modul #libraries #kütüphane #paket
Open on Medium ↗
Wiki topics: 🎮 · Gaming

Python ile Modül-Paket-Kütüphane Kavramları

Yazılımda, kodlama prensiplerinden biri modüler bir programlama yapabilmektir. Modüler kavramı, bir sistemin parçalara ayrılması ve belirli bir amaç doğrultusunda yeniden birleştirilerek kullanılmasını ifade eder. Kodlarımızı sıfırdan yazmak veya her projede tekrar tekrar yazmak yerine, kodlama süremizi azaltarak proje oluşturmamızı hızlandıran önceden birleştirilmiş koleksiyonlar vardır. Bu koleksiyonlar; modül, paket ve kütüphane kavramlarıyla açıklanmaktadır. Gelin birlikte bu kavramları detaylı inceleyelim.

Python ile Kütüphane & Paket & Modül

Python ile Kütüphane & Paket & Modül

Python’da program yazarken, terminalde veya komut satırında çalıştırdığınız kodlarınız çalıştırıldığında hafızada geçici olarak tutulur. Eğer Python’dan çıkış yaparsanız, tüm tanımlarınız (fonksiyonlar, değişkenler vb..) kaybolur. Bu ise uzun programlar yazmanızı güçleştirir. Bu sebeple Python, girdiyi yorumlayıcıya hazırlamak amacıyla bir metin düzenleyici kullanarak dosyayı girdi haline getirir ve çalıştırır. Bu betik oluşturmak olarak adlandırılır. Betik oluşturma, programlarınızı uzun kodlar şeklinde yazmanızı kolaylaştırmak amacıyla parçalara böler. Aynı zamanda, oluşturmuş olduğunuz bu parçaları (fonksiyon, nesne, değişkenler, vb…), birden fazla programda kullanma avantajını sağlar.

Kodlama yaparken programımız satırlarca kodlar içerebilir. Bu durum ise kodlarımızın bakımını ve yönetilmesini zorlaştırır. Her şey tek bir dosyada olması yerine, kodlar işlevselliklerine göre ayrı dosyalarda modüler olarak kullanabiliriz. Yani BÖL, PARÇALA ve YÖNET yaklaşımı ile gerçekleştirmemiz doğru olacaktır. Matematikte karmaşık problemleri çözmek, hayatımızda karşılaştığımız karmaşık sorunların üstesinden gelmek ve daha birçok alanda bu yaklaşımı kullanmak problemlerin üstesinden gelmemizi kolaylaştırır. Bu sebeple, programlamada da karmaşık kodları yazmak için, kodları küçük parçalara ayırıp kullanmak, kodlarda hata olması durumunda hataların bulunmasını, kodların yönetilmesini ve birçok projede kullanılabilmesini kolaylaştıracaktır. Bunlar, programlamada modüller, paketler ve kütüphaneler aracılığıyla yapılır.

MODÜLLER (MODULES)

Modüller, uygulamaya dahil edilmek istenen, belirli bir görevi gerçekleştirmek için bir dizi işlev içeren; fonksiyon, sınıf, değişken ve özellikleri bir arada tutan ve bağımsız çalışabilen yapılardır. Python’da modüller, .py uzantılı dosyalardır. Modüldeki tanımlar, diğer modüllere aktarılabilir.

Modüller iki gruba ayrılabilir.

  1. Kendi tanımladığımız Modüller: Fonksiyonlar, sınıf ve özelliklerle kendi tanımlamış olduğumuz kodlarla oluşturulan modüllerdir.

  2. Hazır Modüller: Python geliştiricileri tarafından oluşturulan modüllerdir. Hazır modülleri de kendi içinde 2 gruba ayırabiliriz.

a. Standart Modüller: Yorumlayıcıya yerleşik modüllerdir. İşletim sistemi işlevlerine erişim sağlamak amacıyla yapılandırılmıştır. Ek bir kurulum gerektirmez. Örnek olarak; Python dilinde os, math, sys, winreg, random modülleri örnek verilebilir.

b. Harici Modüller (Üçüncü şahıslar tarafından oluşturulan modüller): İhtiyaç duyulduğunda harici olarak yüklenebilen modüllerdir. Bu tür modülleri, topluluklar veya bağımsız geliştiriciler tarafından oluşturulabilir. Paket yöneticileri aracılığıyla projelere dahil edilebilir. Örnek olarak, Python’da pandas, numpy örnek olarak verilebilir.

Modüllerin avantajları:

· Modüller kod tekrarını önler.

· Projenin bakımını ve yönetimini kolaylaştırır.

· Birden fazla projede kullanılabilirliğini sağlar.

· Projenin okunabilirliğini artırır.

Modülleri kullanabilmemiz için içeri aktarmamız (import) gerekir. Bunun için Python’da import komutu kullanılır. Modüllerin, fonksiyonlar, özellikler, nesnelerden oluştuklarını tanımdan da biliyoruz. Herhangi bir modülün sahip olduğu fonksiyon, özellik ve nesneleri görebilmek için dir komutunu kullanırız. Örnek olarak;

os Modülü

os Modülü

Bir modülden modülün fonksiyonuna veya niteliğine gitmek istediğimizde, modül_adı.fonksiyon_adı veya modül_adı.nitelik komutu ile gidebiliriz. Örnek olarak;

Bu os modülünden getcwd() fonksiyonuna gitmek isteyelim. os’un “getcwd” fonksiyonu geçerli çalışma dizinini çalıştırmak için kullanılır. os.getcwd komutu ile fonksiyona gidilir.

PAKETLER (PACKAGES)

Paketler, birden fazla ilişkili modüllerden oluşan koleksiyon olarak adlandırılır. Bu ifadeden de anlaşıldığı üzere, paketler, modüllerden oluşur. Python’da .py uzantılı dosyalar olan modüllerin bulunduğu klasörler birer pakettir. Paketler bir dizin hiyerarşisine sahiptir. Paketler, modüllere kıyasla daha karmaşık ve kapsamlı yapıya sahiptir.

Paketler, modülleri izole etmeyi sağlar. Modül sayılarının artması global ortamda çakışmalara, modüllerin takiplerinin zorlaşmasına sebep olabilir. Paketler bu problemleri ortadan kaldırır. Farklı paketlerde aynı isimli fakat farklı işleve sahip modüller bulunabilir. Bu modüllere ulaşmak için paket_adı.modül_adı şeklinde nokta yöntemiyle paketlerden modüllere ulaşabiliriz.

Python 3.3 versiyonunda önce Python’da bir klasörün paket olarak adlandırılabilmesi için init.py dosyasının bulunması gerekiyordu. Ancak Python 3.3 versiyonunun ardından bu zorunluluk ortadan kaldırıldı. Namespace Paketi, Python 3.3 ile birlikte, init.py dosyası olmadan bir klasör paket olabilir. Bu tür paketler namespace paketler olarak adlandırılır.

KÜTÜPHANE (LIBRARY)

Kütüphaneler, ilgili paketler ve modüllerin bir koleksiyonu olarak adlandırılır. Geliştiriciler sıfırdan kod yazmak yerine bu koleksiyonları kullanarak uygulama geliştirme, görevleri otomatikleştirme, matematiksel hesaplamalar yapma gibi birçok görevi gerçekleştirirler. Çoğu zaman paketler ve kütüphaneler aynı anlamda kullanılırlar. Ancak paketler, modüllerden; kütüphaneler ise paketlerden oluşan bir koleksiyon olarak görülürler.

Python’da kütüphanelerin zengin olması, geliştiriciler, araştırmacılar, veri bilimcilerin kolaylıkla çalışmalarını sağlaması sebebiyle oldukça yaygın kullanılmaktadır.

Python’da yaygın olarak kullanılan birkaç örnek kütüphaneler:

o Django: Web geliştirme için kullanılan açık kaynaklı çerçeve (framework)’dir.

o Flask: Web uygulamaları için kullanılan bir web çerçevesidir.

o Pandas: Veri biliminde veri manipülasyonu ve veri analizi için kullanılan açık kaynak kodlu kütüphanedir.

o Numpy: Bilimsel hesaplamalar için kullanılan açık kaynaklı kütüphanedir.

o Matplotlib: Python’da görselleştirmeler için kullanılan açık kaynaklı kütüphanedir.

o Scikit — learn: Makine öğrenimi görevleri için kullanılan açık kaynak kodlu kütüphanedir.

o FastAPI: API’ler oluşturmak için kullanılan açık kaynak kodlu bir web çerçevesidir.

Yukarıda verilen örneklerde görüldüğü üzere, Python birçok alanda görevleri kolaylaştırmak için kütüphaneler içermektedir. İçerdiği hazır kütüphaneler, paketler ve modüller sayesinde, Python geniş kullanım alanına sahip popüler programlama dilidir.

Örnek olarak, Numpy kütüphanesi içerisinde, linalg paketinden, inv modülünü kullanmak istiyoruz.

Öncelikle Numpy kütüphanesini içeri aktarmanız gerekir. numpy.linalg ile pakete ulaşırsınız ve ardından .py dosya uzantılı inv modülüne ulaşmak için numpy.linalg.inv yapısı kullanılır.

import numpy.linalg

from numpy.linalg import inv

Özetle; Python’da kütüphane, paket ve modüller bir hiyerarşi düzeninde ilerler.

· Kütüphane (Library): Belirli bir görevi yerine getirmek için bir araya getirilmiş, tekrarlanabilir paketler ve modüller bütünüdür. Örnek: numpy, pandas, scipy….

· Paket (Package): Paketler, birden fazla ilişkili modüllerden oluşan koleksiyonlardır. Örnek: numpy.linalg

· Modül (Module): Paketin en küçük birimidir. İçinde fonksiyonlar, nesneler, işlevler bulunduran .py dosya uzantısına sahip bir dosyalardır. Örnek: numpy.linallg.inv

KAYNAKÇA

· https://www.mobilhanem.com/python-moduller/ Erişim Tarihi: 20.12.2024

· https://docs.python.org/tr/3.11/tutorial/modules.html# Erişim Tarihi: 20.12.2024

· https://docs.python.org/tr/3.11/tutorial/modules.html#packages Erişim Tarihi: 20.12.2024

· https://www.youtube.com/watch?v=t3pQo0mFb-U Erişim Tarihi: 20.12.2024

· https://python-istihza.yazbel.com/paketler.html Erişim Tarihi: 20.12.2024

· https://www.bigdataci.com/python-15-modul-ii-modullerin-tanimlanmasi-big-dataci/266/ Erişim Tarihi: 20.12.2024

· https://www.bigdataci.com/python-14-modul-1-modul-nedir-nasil-kullanilir/256/ Erişim Tarihi: 20.12.2024

· https://www.mygreatlearning.com/blog/open-source-python-libraries/ Erişim Tarihi: 20.12.2024

· https://medium.com/@adem.ok624/python-derinlemesine-dal%C4%B1%C5%9F-mod%C3%BCller-1b4226d5f055 Erişim Tarihi: 20.12.2024

· https://www.hosting.com.tr/blog/python-kutuphaneleri/ Erişim Tarihi: 20.12.2024

· https://python-istihza.yazbel.com/moduller.html?utm_source=chatgpt.com Erişim Tarihi: 20.12.2024

· https://medium.com/@yagmurkutval/nodejs-hakk%C4%B1nda-konu%C5%9Fal%C4%B1m-31cb0ee8f5e8 https://www.bigdataci.com/python-14-modul-1-modul-nedir-nasil-kullanilir/256/ Erişim Tarihi: 20.12.2024

· https://python-istihza.yazbel.com/moduller.html?utm_source=chatgpt.com https://www.bigdataci.com/python-14-modul-1-modul-nedir-nasil-kullanilir/256/ Erişim Tarihi: 20.12.2024

· https://www.programiz.com/python-programming/modules, https://www.bigdataci.com/python-14-modul-1-modul-nedir-nasil-kullanilir/256/ Erişim Tarihi: 20.12.2024

· https://www.w3schools.com/python/python_modules.asp, https://www.bigdataci.com/python-14-modul-1-modul-nedir-nasil-kullanilir/256/ Erişim Tarihi: 20.12.2024

· https://kultur.istanbul/kutuphane-haftasinda-mutlaka-gorulmesi-gereken-kutuphaneler/ https://www.bigdataci.com/python-14-modul-1-modul-nedir-nasil-kullanilir/256/ Erişim Tarihi: 20.12.2024


메타데이터
post_id
b86f5d05ee8e
slug
python-ile-modül-paket-kütüphane-kavramları-b86f5d05ee8e
url
https://medium.com/@cansudoogan/python-ile-mod%C3%BCl-paket-k%C3%BCt%C3%BCphane-kavramlar%C4%B1-b86f5d05ee8e
canonical_url
https://medium.com/@cansudoogan/python-ile-mod%C3%BCl-paket-k%C3%BCt%C3%BCphane-kavramlar%C4%B1-b86f5d05ee8e
author_url
https://medium.com/@cansudoogan
status
ok
fetched_at
2026-06-26 21:52:29