Merhaba istihza belgelerinde modüller konusuna çalışırken kendi oluşturduğumuz bir .py dosyasının modül olarak içe aktarılması hususunda deneme yapıyordum. Daha önceden OOP konusuna çalışırken yapmış olduğum oop_mini_proje.py adlı dosyamı modül olarak içe aktarmaya çalıştım. oop_mini_proje.py dosyamın içerdiği kodlar aşağıdadır;
class Sekil(object):
pi = 3.14
def __init__(self,uzunluk,kenar_sayisi):
self.uzunluk = uzunluk
self.kenar_sayisi = kenar_sayisi
#self.alan=0
def cevre_hesapla(self):
print("Çevre Hesaplanıyor:")
def alan_hesapla(self):
print("Alan Hesaplanıyor")
class Kare(Sekil):
def cevre_hesapla(self):
super().cevre_hesapla()
self.cevre = self.uzunluk*self.kenar_sayisi
print("Karenin Çevresi: ",self.cevre)
def alan_hesapla(self):
super().alan_hesapla()
self.alan = self.uzunluk**2
print("Karenin Alanı: ",self.alan)
class Daire(Sekil):
def cevre_hesapla(self):
super().cevre_hesapla()
self.cevre = 2 * Daire.pi * self.uzunluk
print("Dairenin Çevresi: ",self.cevre)
def alan_hesapla(self):
super().alan_hesapla()
self.alan = Daire.pi * pow(self.uzunluk,2)
print("Dairenin Alanı: ",self.alan)
Aynı dizinde bulunan Modül Tanımlama.py isimli dosyamın içerisinde
import oop_mini_proje
yazıp çalıştırdığımda aşağıdaki hatayı alıyorum.
import oop_mini_proje
Traceback (most recent call last):
File "C:\Users\KIRAT\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 3296, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-29-9672b8996871>", line 1, in <module>
import oop_mini_proje
File "C:\Python\Temel\oop_mini_proje.py", line 41
"""
^
IndentationError: unindent does not match any outer indentation level
Tanımladığım sıradan fonksiyonları içeren .py dosyalarını modül olarak eklediğimde bu hata ile karşılaşmıyorum.
Sınıf yapısı içeren kod dosyaları modül olarak aktarılamıyor mu? (Soru saçmaysa kusura bakmayın)
Yaşadığım bu sorun hakkında çözüm önerilerinizi bekliyorum, teşekkürler…