koddla

Yazılımcıları bilgi ile güçlendirir.

Python’da aynı dizin veya alt dizin içindeki sınıf nasıl alınır?

Tüm .py dosyalarını barındıran bir dizinimiz olsun:

bin/
   main.py
   user.py # User sınıfı
   dir.py # Dir sınıfı

main.py’de user.py ve dir.py sınıflarını kullanmak isteyelim.
Bu Python sınıflarını main.py içine nasıl aktarabiliriz?
Ya da, user.py bir alt dizindeyse bu sınıfı nasıl alabiliriz?

bin/
    dir.py
    main.py
    usr/
        user.py

Python 2

Dosyayla aynı dizinde olan __init__.py isimli boş bir dosya oluşturun. Bu, Python’a “bu dizinden almanın normal” olduğunu gösterecektir.

Böylece aşağıdakini yapabiliriz:

from user import User
from dir import Dir

Dosyalar bir alt dizindeyse de aynı şey geçerlidir – alt dizine de bir __init__.py koyun ve sonra nokta gösterimi ile düzenli içe aktarma deyimlerini kullanın. Her dizin düzeyi için alma yoluna eklemeniz gerekir:

bin/
    main.py
    siniflar/
        user.py
        dir.py

Örneğin dizinimizin adı “sınıflar” ise, şunu yaparız:

from siniflar.user import User
from siniflar.dir import Dir

Python 3

Python 2 ile aynı şekilde yaparız. Ancak bu sefer modül adının önüne önek olarak . getiririz (tabi ki sınıf bir alt dizinde değilse):

from .user import User
from .dir import Dir

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Back to top