Bloğa geri dön

Python 3'te Modül Yazma: Bir Öğretici

Python 3'te Modül Yazma: Bir Öğretici

Giriş

Python dünya genelinde en yaygın kullanılan programlama dillerinden biridir. Modüller Python kodunun kritik bir parçasıdır. Bir modül, basitçe bir .py dosyasıdır, Python 3 bağlamında. Bu, herhangi bir Python dosyasına bir modül olarak atıfta bulunabileceğiniz anlamına gelir.

Bu modülleri önceden oluşturulmuş kütüphane aracılığıyla edinmeniz mümkündür. Daha fazla bilgi edinmek için Python Standart Kütüphanesi kütüphanesine göz atabilirsiniz. Bunlar, Python'ı kurduğunuzda sisteminize yüklenir. Diğer durumlarda, bu modülleri Python paket yöneticisi pip kullanarak yükleyebilirsiniz. Peki ya özel bir modül oluşturmak isterseniz? Eğer durum buysa, Python'da kendi modüllerinizi oluşturabileceğinizi bilmek sizi memnun edecektir.

Bu ayrıntılı kılavuzda, Python 3'te modül yazmak ve içe aktarmak için izlemeniz gereken adımları özetleyeceğiz.

Önkoşullar

Başlamadan önce, Python 3'ün kurulu olduğundan ve bir programlama ortamının kurulduğundan emin olmanız gerekir. Kurulumu tamamlamak için, hazırda yoksa Ubuntu 16.04 üzerinde Python 3 kurulumu ve yerel programlama ortamı kurulumu eğitimimizi takip edebilirsiniz.

Bir Modül Nasıl Yazılır?

Bir modül yazarak başlayalım. Bir modülü, tıpkı diğer herhangi bir Python dosyasını oluşturduğunuz gibi yazarsınız. Tipik bir modül; fonksiyonların, sınıfların ve değişkenlerin tanımlarını içerir. Sonrasında, modülü diğer Python programlarına uygulamak için kullanabilirsiniz.

Anlamanıza yardımcı olması için bir örneği ele alalım. Diyelim ki hello.py adında bir dosya oluşturmak istiyoruz. Bunu daha sonra başka bir dosyaya da aktaracağız. Süreçteki ilk adım bir fonksiyon oluşturmaktır. Bu fonksiyon, Hello, World! yazdırmaya yarayacaktır, şu şekilde:

Bu noktada, python hello.py komutunu çalıştırmak size hiçbir sonuç vermeyecektir. Bunun nedeni programa henüz herhangi bir talimat vermemiş olmamızdır. Çalışmasını sağlamak için modülü içe aktarmamız gerekir.

Bir Modül Nasıl İçe Aktarılır?

Modülünüzü bir fonksiyon haline getirmek üzere içe aktarmak için, aynı dizinde ikinci bir dosya oluşturmanız gerekir. Bu yeni dosyaya main_program.py adını vereceğiz. Her iki dosyanın da aynı dizinde olması gerekmesinin nedeni, programa modülü nerede bulacağını göstermemiz gerekmesidir. Bu, yerleşik olmayan tüm yeni, özel modüller için geçerlidir:

Fonksiyonu çağırmak için modül adı için nokta gösterimini kullandık. Bunu yapmanın başka bir yolu da from...import yöntemini kullanmaktır. Burada, fonksiyonu world() olarak çağırmak için modülü from hello import world şeklinde içe aktaracağız. Son olarak, şu komutu çalıştırabilirsiniz:

Komut size aşağıdaki çıktıyı gösterecektir:

Bir Modüle Değişken Ekleme

Sırada, modüle tanımlamalar koyarak modüle nasıl değişken ekleneceğini görececeğiz:

Ardından, değişkeni print() fonksiyonunda çağıracaksınız. Bunu main_program.py dosyası içinde çağıracağız:

Programı çalıştırmak şu çıktıyı gösterecektir:

Bir Modüle Sınıf Ekleme

Son olarak, modül için dosyanızda nasıl bir sınıf tanımlayabileceğinizi görececeğiz. Örneğimize devam ederek, Octopus in the hello.py adında yeni bir sınıf oluşturacağız. Ayrıca buna name ve color özelliklerini atayacağız. Ardından, yazdırılabilir olmasını sağlamak için bir fonksiyon ekleyeceğiz:

Ardından, sınıfı main_program.py dosyasının sonuna yakın bir yere eklemelisiniz:

Sınıfı hello.Octopus() komutuyla çağırabilirsiniz. Bu komut size dosyanın ad alanındaki Octopus sınıfının fonksiyonlarını ve özniteliklerini gösterecektir. Bu nedenle, jesse.tell_me_about_the_octopus() ifadesini, hello çağırmadan son satıra yazabilirsiniz. Ayrıca hello kullanmadan sınıfın bağımsız bir özniteliğini çağırmak da mümkündür. Örneğin, sadece jesse.color çalıştırabilirsiniz. Programı çalıştırdığınızda aşağıdaki çıktıyı gösterecektir:

Modüllerle Kod Uygulama

Modülleri tanımlamaları belirtmek için kullanabileceğiniz gibi, kod uygulamak için de kullanabilirsiniz. Diyelim ki world() fonksiyonunu uygulamak istiyoruz. İlk hello.py dosyamızı tamamen yeniden yazacağız:

From the main_program.py dosyasından, içe aktarma ifadesi hariç her şeyi sileceğiz ve geriye şunları bırakacağız:

Program world() fonksiyonunu uygulayıp çalıştırdığı için ana program dosyasını çalıştırmak size bu çıktıyı verecektir:

Başka Bir Dizinden Bir Modüle Nasıl Erişilir?

Artık modülleri nasıl oluşturacağınızı ve değiştireceğinizi bildiğinize göre, onlara başka bir dizinden nasıl erişeceğinizi bilmeniz gerekir. Bu, belirli bir modülü başka bir projede kullanmanız gerektiğinde yararlıdır. Bunu yapmanın aşağıda açıklayacağımız iki yolu vardır.

  • Yolları Ekleme

İlk yöntem, modülü zaten kullanmakta olan programlama dosyalarını kullanarak modül yolunu etkinleştirmektir. Ne yazık ki, bunu yapmak modülün tüm sistemde kullanılabilir olacağı anlamına gelmez. Bu nedenle, yalnızca geçici bir çözüm olarak kabul edilir. Genellikle projenin geliştirme aşamasında kullanılır.

Ekleme işlemine sys modülünü ve kullanmanız gereken diğer önemli modülleri içe aktararak başlayabilirsiniz. Bunları ana program dosyasına aktaracağız. sys modülünü Python Standart Kütüphanesinde bulabilirsiniz. Sisteminize özgü temel parametreleri ve fonksiyonları içerdiği için buna ihtiyacınız vardır.

Önceki örneğimizi bir kez daha ele alalım. Diyelim ki hello.py dosyası /usr/sammy/ yolunda ve main_program.py dosyası başka bir dizinde bulunuyor. Öncelikle sys modülünü kullanarak hello modülünü main_program.py dosyasına aktaracağız. Ardından, /usr/sammy/ yolunu ekleyeceğiz:

Yolu doğru ayarladıysanız, main_program.py file will run easily without errors. You will receive the same output as you did when both files were in the same directory.

  • Python Yolu

Seçebileceğiniz diğer seçenek Python yoludur. Burada, modülün kendisini Python'un modülleri ve paketleri kontrol ettiği bir yola eklersiniz. Muhtemelen tahmin edebileceğiniz gibi, bu durum modülü sistem genelinde kullanılabilir hale getirerek uygulanabilir kalıcı bir çözüm sunar.

Bunu yapmak için Python'un modülleri nerede aradığını bulmanız gerekir. Python yorumlayıcısını, şuna benzeyen programlama ortamından çalıştırmanız gerekecektir:

Bir sonraki adım, sys modülünü içe aktarmaktır:

Ardından, sistem yolunu yazdırın:

Şimdi, çıktı olarak bir sistem yolu göreceksiniz. En az bir tane olacaktır. Ancak, bir programlama ortamında birkaç tane de olabilir. Listede, kullandığınız ortamı bulun. Modülü ana sistem Python yoluna da eklemek isteyebileceğinizi unutmayın. Şöyle görünecektir:

Son olarak, hello.py dosyasını bu dizine taşıyın ve modülü aşağıdaki gibi içe aktarın:

Program dosyayı herhangi bir hata vermeden çalıştırırsa denemeniz başarılı olmuş demektir. Bu işlemin sonucunda, modüle sisteminizdeki herhangi bir dizinden erişebileceksiniz.

Sonuç

Bu öğreticinin amacı, Python modülü yazmaya aşina olmanıza yardımcı olmaktır. Bu, herhangi bir Python .py dosyasını nasıl yazacağınıza çok benzer. İlk olarak bir Python modülünün ve ilgili özelliklerin gerçekte ne olduğundan bahsettik. Ardından, bu tanımları Python'daki diğer programlama dosyalarında nasıl uygulayacağımızı keşfettik. Son olarak, modül erişilebilirliğinin ayrıntılarını çözdük. Artık Python 3'te nasıl modül yazacağınızı ve bunlara nasıl erişeceğinizi biliyorsunuz.

Python programlama dili hakkındaki bilgilerinizi daha da geliştirmek için, daha fazla kaynak için blogumuza başvurun:

Keyifli Çalışmalar!

author

Pranay Kapgate

Yazar · CloudSigma

Preslav Dobrev, CloudSigma'da Kreatif Tasarımcı olarak görev yapmakta olup geleneksel ve yenilikçi pazarlama kanallarını kullanarak tutarlı bir kurumsal kimlik oluşturmaya odaklanmaktadır. Sanatsal vizyonu stratejik pazarlamayla harmanlayarak etkili marka anlatıları oluşturma konusunda oldukça yeteneklidir.

Yorumlar

Henüz yorum yapılmamış. İlk siz olun.