Python'ın en iyi özelliklerinden biri, daha önce de gördüğümüz gibi... teslimatlar Önceki Linux tabanlı Python programlama kursu şuydu: Bu kod, uygulamanın diğer bölümlerinde veya diğer uygulamalarda yeniden kullanılabilir.
Bu yazıda göreceğiz Başka programların içine kod yapıştırmadan veya yazmadan programları nasıl kullanabilirsiniz?Bu, Python'ın belirli görevler için birçok kütüphaneye sahip olması ve bizi "tekerleği yeniden icat etme" zahmetinden kurtarması açısından faydalıdır.
Linux kullanarak Python programlama kursu
Şimdiye kadar bir fonksiyon tanımladık ve ihtiyaç duyduğumuzda onu çağırdık. Şimdi ise modül kavramını tanıtacağız. Modül, fonksiyonların ve sınıfların tanımlandığı ve değişkenlerin bildirildiği bir dosyadır. Modüller bağımsız dosyalar olduğundan, büyük projeler oluşturmak için bunları kullanmak bakım ve güncellemeyi kolaylaştırır.
Python, çok çeşitli görevler için bir dizi modül içerir ve ayrıca kendi modüllerimizi de oluşturabiliriz.
Modüllerin kullanımının avantajları şunlardır:
- Yeniden kullanım: Belirli bir görevi (örneğin, vergi hesaplama) gerçekleştiren bir programı bir kez yazabilir ve bu programı, kodu yeniden yazmak zorunda kalmadan, bu fonksiyona ihtiyaç duyduğumuz kadar çok programda kullanabiliriz.
- sipariş: Modüller, projenin bölümlerini mantıksal olarak ayırmaya yardımcı olarak, Python hakkında minimum bilgiye sahip herkesin programın her bir bölümünün ne yaptığını anlamasını mümkün kılar.
- Bakım: Kod ne kadar kısa olursa, hataları bulmak ve değişiklikler yapmak o kadar kolay olur.
- Ölçeklenebilirlik: Büyük projelerde modüler yapı, işin bölünmesini ve yeniden birleştirilmesini kolaylaştırır.
- Kitapçılar: Python, programcılara oyun geliştirmeden büyük yapay zeka projelerine kadar geniş bir yelpazede modüller sunmaktadır.
Bir Python projesini modüller halinde doğru bir şekilde oluşturmak için, farklı bölümleri .py uzantılı dosyalara bölmeniz ve kaydetmeniz gerekir. İdeal olarak, şu kriterleri izlemelisiniz:
- belirlemek Benzer işlevleri yerine getiren kod parçaları: Örneğin, veri yakalamayı bir modülde, işlemeyi başka bir modülde ve çıktı ve depolamayı da bir diğerinde gruplandırabiliriz.
- assign Açıklayıcı isimler: Buradaki fikir, herkesin her modülün ne yaptığını bir bakışta anlayabilmesidir. Eğer bir veri doğrulama modülü ise, ona 1234.py yerine validation.py demek daha kullanışlıdır.
mostrar_distro.py adında bir modül oluşturacağız. İşte modülün içeriği:
Bu modül, fonksiyonu içe aktaran programda belirtilecek bir dağıtımın adını "En iyi dağıtım... Şüphe etmeyin" metniyle birlikte yazdıran bir fonksiyon oluşturur.
Bu, modülü çağıran uygulamadır.
Bu program, önceden kaydettiğimiz modülü çağırır, dağıtım fonksiyonunu çalıştırır ve "Ubuntu" parametresiyle yürütür. Modülde herhangi bir şeyi değiştirirsek, örneğin dağıtım adının yanında görüntülenen metni, bu değişiklik programa da yansıyacaktır.
İçe aktarma talimatı
Kodda gördüğümüz gibi, bir modülü içe aktarmak için şunu yaparız:
import nombre_modulo
Uzantı eklenmedi.n.py
Ancak modülün tamamını içe aktarmamız gerekmiyor. Belirli bölümlerini içe aktarabiliriz:
from nombre_modulo import elemento1, elemento2
Yazma zahmetinden kurtulmak veya isim çakışmalarını önlemek için, içe aktarılan modüle bir takma ad atanabilir.
import nombre_moulo as nm
n kullanarakm Kod adında modüle yapılan herhangi bir atıf içinde.
Modülün öğelerinden birini her çağırdığımızda modüle referans vermek istemiyorsak, aşağıdaki gibi yapabiliriz:
from nombre_modulo import *
Bu sayede modülün her bir öğesini, sanki kodun içinde tanımlamışız gibi, kod içinden çağırabileceğiz. Ancak bu durum, mevcut öğelerle çakışmalara yol açabilir.
Modüllerin konumu
Kursun ilk makalesinde sanal ortamlar kavramını açıkladık. Ubuntu ve diğer Linux dağıtımlarında zorunlu, Windows'ta ise isteğe bağlı olan bu uygulama, modüllerin depolanacağı konumları içeren bir dosya yapısı oluşturur. Genel olarak, bir modül üç konumda saklanabilir:
- Modülü çağıran ana programın bulunduğu dizin.
- Eğer bir paket yöneticisi kullanarak kurduysanız, sanal ortamın lib klasöründe bulunur.
- Kullanıcı tanımlı dizinlerde, konum içe aktarma komutunda belirtilir.
Modül Tipleri:
- Standart modüller: Bunlar Python kurulumuna dahildir ve rastgele sayı üretme gibi çok çeşitli yaygın programcı görevlerine hizmet ederler. Ek yapılandırma gerektirmezler ve dilin geliştiricileri tarafından geliştirilmiştir.
- Kullanıcı tarafından geliştirilen modüller: Bu eklentiler, bir projenin özel ihtiyaçlarına yanıt verir ve forumlarda veya indirme sitelerinde diğer kullanıcılara sunulsalar bile, resmi destek veya güncellemeler konusunda herhangi bir garanti yoktur.
- Üçüncü şahıslar tarafından bakımı yapılmaktadır: Bunlar, belirli paket yöneticileri kullanılarak yüklenir ve WhatsApp üzerinden mesaj gönderme gibi standart modüllerin kapsamadığı birçok kullanıcının ortak ihtiyaçlarını karşılar. Çoğu durumda şirketler veya sorumlu kullanıcılar tarafından eksiksiz ve güncel belgelerle desteklenmelerine rağmen, kötü amaçlı paketlere de rastlanmıştır.
Standart modüllere örnek olarak şunlar verilebilir:
- Matematik: Kök hesaplamaları, trigonometri, logaritma ve sabitler gibi matematiksel işlevler için destek sağlar.
- Rastgele: Rastgele sayılar üretmek ve rastgele elemanlar seçmek için kullanılır.
- Tarihsaat: Takvim yönetimi, tarih ve saatlerle çalışma ve zaman farklarını hesaplama.
- İşletim sistemi: Bu, uygulamanın işletim sistemiyle etkileşimini, dosyalar, dizinler ve ortam değişkenleriyle çalışmayı da içeren konuları ele alır.
pip paket yöneticisi
Özgür yazılım dünyasındaki pek çok isim gibi, pip de İngilizce'de "pip package installer" ifadesinin kısaltmasıdır. Bu, üçüncü parti geliştiriciler tarafından oluşturulan modülleri yüklemek için kullanılan resmi araçtır. Mevcut paketlerin listesini görebiliriz. Burada.
Temel komutlar şunlardır:
Modülü yükle
pip3 install nombre_modulo
Güncelleme modülü
pip3 install --upgrade nombre_modulo.
Modülü kaldır
pip3 uninstall nombre_modulo
Bir sonraki bölümde kursa devam edeceğiz.