Python'da İçe Aktarmaya Giriş
Python'da sadece re (düzenli ifadelerle çalışmak için) gibi
standart modülleri değil, aynı zamanda kullanıcı tanımlı dosyalardan
kendi yeni modüllerinizi de oluşturabilirsiniz.
Aynı dizinde, çalışma dosyamız test.py ile birlikte bulunan
lib.py adlı bir dosyamız olduğunu varsayalım:
- lib.py
- test.py
İçinde konsola bir ünlem işareti yazdıracak bir fonksiyon oluşturalım:
def func():
print('!')
Şimdi test.py dosyasına geçelim ve bu fonksiyonu içe aktaralım.
Dosyanın üst satırına, import komutunu yazıyoruz, ardından
istenen dosyanın (modülün) adını belirtiyoruz. Her iki dosya aynı
dizinde olduğu için, import sonrasında uzantısı olmadan sadece
modülün adını belirtmek yeterlidir:
import lib
Ardından, içe aktarılan fonksiyonu çağıralım. Bunun için modül adından
sonra bir nokta koyarak func fonksiyonunun adını belirtiyoruz:
lib.func()
Kodun çalıştırılmasının sonucu:
'!'
Bir modül içe aktarıldığında, çalışma dosyasında sadece fonksiyonlar değil, modülün diğer tüm içeriği (örneğin değişkenler) de kullanılabilir hale gelir.
Modül içe aktarıldıktan sonra, çalışma dizininde otomatik olarak
__pycache__ adlı bir sistem klasörü oluştu. Python'daki tüm
sistem dosya ve klasör adlarının çift alt çizgi ile başlayıp bittiğine
dikkat edin:
- /__pycache__/
- lib.py
- test.py
Bazen, başka bir klasörde bulunan bir modülü içe aktarmak gerekebilir,
örneğin /dir/lib.py yolunda:
- /__pycache__/
- /dir/
- lib.py
- test.py
O zaman, içe aktarırken klasör adı ve dosya adı nokta ile ayrılarak yazılır ve içe aktarılan fonksiyon da aynı şekilde çağrılır:
import dir.lib
dir.lib.func()
file.py adlı bir dosya oluşturun. İçinde, konsola bir sayı
yazdıracak bir fonksiyon yapın. Bu fonksiyonu, çalışma kodunuzun
bulunduğu dosyaya içe aktarın.
test1.file1.py dosyasında, herhangi bir mesaj yazdıran bir
fonksiyon oluşturun. Bu fonksiyonu kendi çalışma dosyanıza içe
aktarın.