Python 15- Modüller II-Modüllerin Tanımlanması- Big Datacı

Bir önceki yazıda modüllerin tanımına ve hazır modüllere değinmiştik. Bu yazıda ise kendi modüllerinizi nasıl tanımlayacağınızı öğreneceksiniz. Modülleri tekrardan tanımlamak gerekirse fonksiyon, sınıf ve özelliklerin birlikte tanımlandığı dosyalardır.

Örneğin bir program dosyası oluşturarak adını new_dictionary koyalım. Python’da modül olan bu program, aynı zamanda modül anlamına gelmektedir.

Modüllerin dictionary veri tipine de benzediği görülmektedir. Bundan dolayı dictionary veri tipinde verilmiş olunan bir örnekle devam edilecektir.

new_dictionary= { 'JIT': 'Just in Time', 'WIP': 'Work in Process', 'SMED': 'Single Minute Exchange of Dies'}
print(new_dictionary)

def call(word):
    error="{} kelimesi new_dictionary'de bulunmamaktadır."
    return new_dictionary(word, error.format(word))

Çıktısı

İlk modül tanımlanmış oldu. Aslında önceki yazıda bahsedilen kütüphane modülleriyle kendinizin yazdığı modüller arasında pek fark bulunmamaktadır. Onları nasıl kullanıyorsak oluşturulan modülleri de o şekilde kullanılabilir.

Kütüphane modülleriyle bir program içerisinde bulunan fonksiyon ve nitelikleri başka Python programlarına nasıl aktarıldığı gösterilmişti. Aynı koşullar kendi yazmış olduğumuz modüller için de geçerlidir.

Modülleri Çalıştırma Yolu

Kütüphane modüllerini her yerden içeri aktarabilirken kendi yazdığımız modüllerde bunu yapamamaktayız.

Kendi yazdığımız modülleri aktarırken bu modüllerin o anda içinde bulunulan dizin altında yer alması gerekmektedir. Örneğin oluşturulmuş new_dictionary modülünü new_dictionary.py dosyasını bilgisayarınızdaki hangi yere kaydettiyseniz oradan içeri aktarım sağlayabilmektesiniz.

Mesela new_dictionary dosyasını masaüstüne kaydettiysek var olan modülü içeri aktarabilmek için komut satırını da masaüstünün bulunduğu konumda çalıştırılması gerekmektedir. Eğer modülü belirtilen şekilde çalıştırmazsak hatalarla karşılaşırız.

Kendi yazdığımız modülleri bu şekilde çalıştırmamızın sebebi ise ismi verilen modülü bulmak için bir arama işlemi gerçekleştirilmektedir. Python da bilgisayarda bulunan her dosyayı taramak yerine belli başlı tanımlanmış dosyaları taramaktadır.

Öncelikle bunun için Python’da var olan path’lere bakarak yolunuzu çizebilirsiniz. Bunun için kütüphane modülü olan sys’yi kullanabilirsiniz.

import sys
print(sys.path)

Çıktısı

Var olan modül arama yerlerim yukarıda yer almaktadır. Sizde aynı yolları izleyerek modül kaydetme yerlerinizi bulabilir ve oraya oluşturduğunuz modülleri ekleyerek, modüllerinizin kalıcılığını sağlayabilirsiniz.

Python Dizini için Yeni Bir Path Ekleme

Öncelikle “Bilgisayarım” klasörüne sağ tıklayarak “Özellikler” seçeneğini seçiniz.

Gelişmiş sistem ayarlarına tıklayınız.

Buradan “Gelişmiş”e tıklayarak “Ortam Değişkenleri” seçeneğini seçiniz.

“Path” seçeneğine çift tıklayınız.

Öncelikle “Yeni”ye tıklayarak modülleri kaydetmek istediğiniz Path’ı yazarak modüllerinizi kaydedeceğiniz yeri oluşturabilirsiniz.

Yeni eklenmiş olan path’e new_dictionary modülünün dosyasını koyarak başlayalım.

python.exe dosyası anaconda üzerinden kurulu olduğu için bu şekilde bir yol izleyerek gelindi. Şu anda new_dictionary modülünü test edelim.

import new_dictionary

Kodun çıktısı

Sorunsuz bir şekilde modül çalıştırıldı.

Modüller Üzerinde Değişiklik Yapma

Sözlüğe yeni sözcük eklemesi yapmak için öncelikle add fonksiyonunu eklememiz gerekmektedir.

import new_dictionary

new_dictionary= { 'JIT': 'Just in Time', 'WIP': 'Work in Process', 'SMED': 'Single Minute Exchange of Dies'}
print(new_dictionary)

def call(word):
    error="{} kelimesi new_dictionary'de bulunmamaktadır."
    return new_dictionary(word, error.format(word))
def add(word, meaning):
    text="{} kelimesi new_dictionary'e eklendi."
    new_dictionary[word]=meaning
    print(text.format(word))

add fonksiyonun eklenip eklenmediğini anlayamadığımız için öncelikle modülün niteliklerini inceleyelim.

dir(new_dictionary)

Kodun çıktısı

Modül otomatik etkileşimli olarak kaydedilmediği için tekrardan “Save” diyerek add fonksiyonunu aktifleştirebilirsiniz. Tekrardan dir(new_dictionary) ile eklenip eklenmediğini kontrol edebilirsiniz.

Böylece add fonksiyonu da eklenmiş oldu.

Bir sözcük eklemeye çalışalım.

import new_dictionary
new_dictionary.add('FMEA', 'Failure Mode and Effects Analysis')

Kodun çıktısı

Kod doğru bir şekilde çalışarak çıktısını verdi ve FMEA kısaltması sözlüğe eklenmiş oldu.

Bir Cevap Yazın