Python projeyi birden fazla dosya ile kodlamak

mertkaplandar

Hectopat
Katılım
26 Aralık 2019
Mesajlar
343
Çözümler
2
Daha fazla  
Cinsiyet
Erkek
Herkese merhaba.
Bazı projelerde gördüğüm bu olay ilgimi çekti. Acaba nasıl yapılır diye merak ettim.
Örneğin bir Python projesinden birden fazla .py dosyası var. Bunlar main.py, reciver.py ve sender.py gibi.
Projeyi bu şekilde dosyalara böldükten sonra mesela main.py üzerinden reciver.py de ki bir değişkene nasıl erişiliyor veya bir fonksiyonu nasıl çalıştırabiliyorlar? Kodda bir değişiklik yapmamız gerekiyor mu?
 
"mymodule.py" deki fonksiyonu
[CODE lang="python" title="mymodule.py"]def fonksiyon(name):
print("Hello, " + name)[/CODE]
"main.py" dosyamızdan bu şekilde çağırıyoruz.
[CODE lang="python" title="main.py"]import mymodule
mymodule.fonksiyon("Jonathan")[/CODE]

Tabi ".py" dosyalarımız aynı dizinde.
 
Herkese merhaba.
Bazı projelerde gördüğüm bu olay ilgimi çekti. Acaba nasıl yapılır diye merak ettim.
Örneğin bir Python projesinden birden fazla .py dosyası var. Bunlar main.py, reciver.py ve sender.py gibi.
Projeyi bu şekilde dosyalara böldükten sonra mesela main.py üzerinden reciver.py de ki bir değişkene nasıl erişiliyor veya bir fonksiyonu nasıl çalıştırabiliyorlar? Kodda bir değişiklik yapmamız gerekiyor mu?
Python da import etmek nedir? Nasıl kullanılır diye araştırmanızı tavsiye ederim. Farklı dosyalar açılmasının sebebi, projenin parçalara bölünüp yönetilmesini kolaylaştırmak. Mesela product.py içerisinde sadece ürün ile ilgili değişkenler olurken, customer.py içerisinde de sadece müşteri ile ilgili kodlar yer alır.
 
Yani kullanacağımız yan dosyaları import ile main.py dosyamıza eklemeliyiz. Doğru mu anladım?
Sen daha çok baslardaymissin sağlam bir eğitim kaynağı bulmani öneririm 😁

Aslında ufak temellerim var ancak çok değil. Bu nedenle her şeyi tam bilmiyorum.
BTK Akademideki dersler iyi mi sizce? Öğrenim için yeterli olur mu?
 
Evet import ile dosyayı import edersin dosyadi. Diyerekde içindeki objeleri erisebilirsin.
Yani kullanacağımız yan dosyaları import ile main.py dosyamıza eklemeliyiz. Doğru mu anladım?

Aslında ufak temellerim var ancak çok değil. Bu nedenle her şeyi tam bilmiyorum.
BTK akademideki dersler iyi mi sizce? Öğrenim için yeterli olur mu?

Ben ondan öğrenmiştim ama o yetmez, sadece başlangıç için ideal o, zaten sonrasını kendi kendine öğrenmeye başlarsın merak etme.
 
Evet, aslında her .py dosyası bir modül sayılır. Yukarıda verdiğim örnekte sadece "fonksiyon" olarak kullanmak isteseydik
Python:
from mymodule import fonksiyon
şeklinde yazardık.

Yani her fonksiyon için import her Python dosyası için ise form kullanacağım değil mi?
 
İki Python dosyası hayal edelim main.py ve fonksiyonlar.py. Main ana dosyamız, fonksiyonlar.py içinde de fonksiyonlarımız bulunsun.

-fonksiyonlar.py-
def sifre_kayit(): sifre = 15 print("şifre başarıyla kaydedildi!") def sifre_silme(): sifre = None print("şifre başarıyla silindi!")

Öncelikle o bilgiyi import etmelisin mesela main.py dosyasına, fonksiyonlar.py dosyasındaki 'sıfre_kayıt()' fonksiyonunu çekeceksin diyelim. öncelikle dosyanın başında pythonun modullerini import ettiğimiz gibi import komutunu ekliyeceksin ondan sonra ise fonksiyonlar.py dosyasının konumunu gireceksin. basit bir örnek:

-main.py-
from fonskiyon.py import sifre_kayit if __name__ == '__main__': sifre_kayit() sifre_silme()

Tabii böyle yaparsan hata verecektir. Çünkü 'from' kullandığın için main.py dosyasına sadece "sifre_kayit()" fonksiyonunu çağırmış olursun. onun yerine direkt fonskiyonlar.py dosyasını direkt import edersen içindeki tüm fonksiyonları çekersin. basit bir örnek:


-main.py-
import fonksiyonlar.py if __name__ == '__main__': sifre_kayit() sifre_silme()

Bu kadar basit, eğer import edeceğin dosya import edilen dosyayla aynı klasörde değilse tam import edilecek dosyanın dosya yolunu girmen gerekli.
 

Yeni konular

Geri
Yukarı