Merhaba Python modülleri yazısını okuyan ziyaretçi! :)

Önceki yazımda Fonksiyonlar hakkında bir yazı yazmıştım. Bu yazımda Modüllerin, yani kütüphanelerin ne işe yaradığını, modüllerin kullanımını ve kendi kütüphaneni nasıl yapabileceğinden bahsedeceğim.


Python modülleri yada kütüphaneleri; daha önce yazılmış, içlerinde fonksiyonları hazır hale getirerek, işlemleri hazır halde tutan yapılardır.

Modüllerde işlemler hazır halde tutulduğu için, işlemler doğrultusunda uygun modülü bulup daha hızlı bir şekilde kodu tamamlayabiliriz.


Başlamadan önce bir Python dosyası oluştur ve yazıyı okumaya devam et :)

Python modüllerini (yani kütüphanesini) import komutu ile çağırırız ve genellikle ilk satıra ekleriz. Bu yazımda örnek olarak time modülünü kullanacağım.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time
import komutu yanına, çağırmak istediğim modülün adını yazdım,  Bu satırları çalıştırdığında herhangi bir çıktı almayacaksın.


Bütün Python modülleri önyüklü olarak gelmez. Hatırlarsan, Python kurulumu yazımda pip kurulumunu gerçekleştirmiştik. Pip, Python modüllerini kurmana yarayan araçtır. İhtiyacın olan Python modüllerini pip ile kurar ve güncellersin.

os, time, sys, getpass, parser gibi kütüphaneler Python ile birlikte gelirken; SQLObject, PyGobject, Django, Pygame gibi modüller Python ile gelmez ve bilahare kurulması gerekir. Pip konusuna ayrı bir yazıda değineceğim.


Şimdi sen diyeceksin; ee.. çağırdık ne işimize yaradı? Modül çağırmayı öğrendik, diyeceğim bende.
Şimdi kendi modülümüzü yapacağız ve üzerinde örnekleri göreceğiz :)

Oluşturduğun Python dosyasıyla aynı dizinde bir Python dosyası oluştur ve adı ilkmodul.py olsun.
Oluşturduğun ilkmodul.py dosyasına aşağıdaki satırları ekle ;)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
print ("En fazla sevdigim vakit\nSon kez merhaba")
Satırları ekledikten sonra kaydet ve kapat. Ardından ilk oluşturduğun Python dosyasına gel ve aşağıdaki satırı ekle ;)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import ilkmodul
Ekledikten sonra kaydet ve çalıştır. Böylece ilkmodul.py modülünü çağırmış ve çalıştırmış oldun :)
Çıktısı aşağıdaki gibi olacaktır.
En fazla sevdigim vakit
Son kez merhaba

ilkmodul.py dosyasını açıp aşağıdaki satırları ekle lütfen.
#!/usr/bin/env python
# -*- coding: utf-8 -*-

def site():
    print ('dersler.hackeradana.org adresindesin.')
    print ('Anarşist yazılımcı bu sitenin yazarıdır.')

def ekip(proje):
    print ('Programlama Dersleri', proje, 'Projesidir')
    print ('HackerAdana@Protonmail.com')
Fonksiyonlar konusunu hatırladın demi? :) Bak işlemleri fonksiyon içine aldım artık çağırmadan çalışmayacak.

Bir fonksiyonu çağırmak için modul-ismi() ibaresini kullanıyorduk değil mi? Ben öyle hatırlıyorum.
Az sonra ilkmodul.py dosyasının içindeki site() fonksiyonunu çağıracağız.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import ilkmodul
ilkmodul.site()
İlk satırda import ilkmodul satırı ile ilkmodul modülünü çağırdım. İkinci satırda ise, modül içindeki site fonksiyonunu çalıştırdım. Farkettiğin gibi önce modülün adı sonra fonksiyonun adını yazdım. Çıktısı da senin tahmin ettiğin gibi ;)

ekip fonksiyonunu çalıştırmadan geçmeyelim :)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import ilkmodul
ilkmodul.ekip('Hacker Adana')
Sen bunun da çıktısını biliyorsun, gerek var mı göstermeye? :)


Kendi modülünü oluşturdun ve oluşturduğun modülü çalıştırdın. Bir modülün nasıl çalıştığını da artık biliyorsun. Artık modüllerin nasıl çalıştığını yani mantığını biliyorsun, modülleri çalıştırmayı da öğrendin, değil mi? Hadi time modülüyle oynayalım :)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time

ctime = time.ctime()
print (ctime)
Bu satırları çalıştırdığımızda bulunduğunuz zamanın bilgisini verecektir. time.ctime() çıktısını ctime değişkenine atadım ve print() ile ekrana yazdırdım ;) Print kullanmadan da yapabilirdim.


Python'un onbinlerce modülü var ve bunların hepsini olmasa da bir çoğunu ilerleyen aylarda anlatacağım.

Python modüller yazımın sonuna geldin. Bir sonraki yazımda görüşmek dileği ile. Haa.. bu arada takılırsan sor, yorumlarını belirt. Kimseyi dövmüyoruz soru sordu diye :)
HackerAdana@Protonmail.com