python dersleri

Python Modüller

Merhaba Arkadaşlar,
Mobilhanem.com da Python Eğitimi Serisinin bu dersinde Python Modüller dersi ile birlikteyiz. Bu derste Python da çok önemli konulardan biri olan modül kavramının ne olduğunu, nasıl kullanıldığını ve kendi modüllerimizi nasıl oluşturacağımızı göreceğiz. Keyifli okumalar.

Modül Nedir?

Biz Python eğitimi serisi boyunca hep kod tekrarından kaçınmıştık. Bunun için fonksiyon ve sınıfları kullanmıştık. Peki bu fonksiyonları veya sınıfları başka bir projede kullanabilir miyiz? İşte bizde bu derste bu konuyu biraz daha derinden işleyeceğiz. Hemen modüllerin tanımını yapayım; modüller fonksiyon, sınıf ve özelliklerin bir arada bulunduğu Python dosyalarıdır. Siz bu dosyaları istediğiniz projede çağırıp kullanabilirsiniz. Aklınız karıştı dimi evet yanlış duymadınız Python da oluşturduğunuz her bir dosya aslında bir modüldür.

Python da iki çeşit modül var;

  1. Hazır modüller
  2. Kendi oluşturduğumuz modüller.

Biz bu derste kendi modülümüzü oluşturacağız. Bir sonraki derslerde ise hazır modülleri işleyeceğiz. Peki biz bu modülleri kullanmak zorunda mıyız? Eğer modül kullanırsak ne gibi avantaj ve dezavantajlarını görürüz modüllerin? O zaman hemen bir başlık atalım.

Neden Modüller?

Büyük ve üzerinde çok fazla geliştirici çalışan projeler genel olarak modüllere Türkçe kaşılığı ile parçalara ayrılır. Bu sayede parçalara ayrılan projede  bize bu tür avantajları sağlar.

  • Modüller kod tekrarını ünler.
  • Modüller projemizi daha okunabilir olmasını sağlıyor.
  • Modüller yapıda projeyi değiştirmek, güncellemek, yeni modüller eklemek basittir.
  • Modüller yapıda projede bakım kolaydır.
  • Modüller aynı projede birden fazla kişinin çalışmasına imkan sağlıyor.

Python Modül Oluşturmak ve Projeye Dahil Etme

Biz zaten oluşturduğumuz Python sayfasının bir modül olduğunu biliyoruz dimi o zaman hemen yeni bir dosya oluşturalım;

Bu dosyamız moduls.py adında bir Python dosyası.

İçine şu şekilde oluşturduğumuz fonksiyonu ekliyoruz.

Şimdi başka bir Python dosyası daha oluşturuyoruz. Bu dosyaya da main.py diyoruz. Biz oluşturmuş olduğumuz modülleri burada kullanacağız.

Şimdi oluşturduğumuz moduls.py dosyasını yani modülünü çağırıyoruz.

Genel kullanım şekli;

import moduls_name

bizde hemen ekleyelim.

Şimdi dilerseniz bu modülün içinde ne olduğuna bakalım. Bir önceki derslerimizde birçok defa kullandığımız dir() fonksiyonunu kullanıyoruz.

main.py modülümüz şu çekilde;

Çıktı:

Bir önceki derslerimizde “__” ile başlayan fonksiyonların özel fonksiyon olduğunu söylemiştik. Dikkat ederseniz listenin son elemanı bizim oluşturduğumuz yazdir() fonksiyonu bulunmakta.

Peki bu fonksiyonu kullanabiliyor muyuz? Hemen bakalım.

Görüldüğü gibi başarılı bir şekilde oluşturduğumuz fonksiyonları kullandık. Peki sınıfları nasıl kullanacağız hemen görelim.

Onun için moduls.py dosyasının içine geliyoruz. Eğer Python OOP kavramlarını bilmiyorsanız lütfen ilk önce bu derslere bakın.

Şimdi main.py sayfasında oluşturduğumuz sınıfı çalıştıralım.

Burada dikkat etmemiz gereken nokta oluşturduğumuz sınıf’tan bir obje oluşturuyoruz aksi takdirde oluşturduğumuz Ogrenci() sınıfı soyut bir kavram olduğu için bu sınıfı kullanamayız.

Hemen modul.py sayfasına geliyoruz ve tekrar modülü çağırıyoruz.

Şimdi main.py modülünü çalıştıralım.

Şeklinde bir çıktı aldık. Burada dikkat edeceğiniz nokta biz moduls.py sayfasında daha önce öğrenci sınıfı objesi oluşturduğumuz ve çağırdığımız için modul.py modülünü çağırdığımız zaman Ogrenci() sınıfı otomatik olarak çalıştı. Peki biz modülü eklediğimiz projede istediğimiz zaman çağırıp kullanmak istiyorsak ne yapmalıyız.

Bunun için moduls.py sayfasında değil main.py sayfasında objemizi oluşturuyoruz.

başka bir çağırma yöntemi ise şu şekilde;

Çıktı:

İstediğiniz şekilde kullanabilirsiniz. Ama ilk önce Python OOP mantığını iyice pekiştirmeniz şiddetle tavsiye ediyorum.

Şimdi gelelim dikkat edilecek başka bir noktaya daha. Biz az önce bir modülü projeye dahil ederken şu şekilde bir syntax yapısını kullanmıştık.

İmport modül_adi

Bu kullanım bir standart kullanım şeklidir. Başka kullanım yöntemleri de var. Hemen bakalım.

Örneğin çağırdığınız modül ismi çok uzunsa ve kullanımı çok zor ise şu şekilde proje ekleyebilirsiniz.

import modul_adi as takma_adi

Yani modülümüz bir takma isim verdik. Hemen kullanalım.

Çıktı:

Başka bir yöntem daha yapalım mesela biz modül içindeki bütün fonksiyon ve sınıfları çağırmak istemiyoruz sadece ihtiyacımız olan fonksiyon ve sınıfları çağırmak istiyorsak şu şekilde yapıyoruz.

From modül_ad import fonksiyon,sınıf

hemen kullanalım.

Biz burada modul.py içindeki yazdir() fonksiyonunu çağırdığımız için sadece bu fonksiyonu kullanabiliyoruz. Ogrenci() sınıfını kullanamayız. Eğer kullanmak istiyorsak Ogrenci() sınıfını da ekliyoruz. Şu şekilde;

Peki modül içinde belki 100 tane fonksiyon veya sınıf varsa hepsini teker teker mi ekleyeceğiz. Tabi ki hayır zaten az önce bunu yapmıştık.

şeklinde veya

Böylelikle artık kendi modüllerimiz oluşturabiliyor ve bir projeye dahil edebiliyoruz. Bir sonraki dersimizde hazır modüllerin ne olduğunu ve nasıl kullanıldığını öğreneceğiz

Eksik yada yanlış gördüğünüz yerler için iletişime geçmekten çekinmeyin. Dilerseniz Soru-Cevap bölümünden Python ile ilgili sorularınızı sorabilirsiniz.

Tüm Python Derslerine buradan ulaşabilirsiniz.

8

Cahit İşleyen

Data Scientist at @Embedica.ai
Python ve Linux sever.
Çay tiryakisi

Yorum Yaz

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?