arkadaşlar kendi çabamla python öğrenmeye çalışıyorum, python değişken isimleri Türkçe karakter ve boşluk içerebilir mi?
Merhaba. Türkçe karakter içerebilir ancak boşluk içeremez.
https://python-istihza.yazbel.com/etkilesimli_python.html#degisken-adi-belirleme-kurallari
çok teşekkür ederim, ben birşeyi daha merak ediyorum ama, mesela import keywords dediğimiz zaman sanırım keywords kütüphanesi yükleniyor ve yine sanırım kütüphaneler işin uzmanlarının başkaları zahmet çekmesin diye daha önce yazıp kaydettiği kod grupları…import dediğimiz zaman python programı kütüphaneleri internetten mi indiriyor yoksa içinde saklıysa neden import diyoruz içerdiği fonksiyonlar kendiliğinden çalışsa ya bunun mantığını anlamıyorum
Önemli değil.
Hayır, bilgisayarınıza python ile birlikte bu kütüphaneler yüklü geliyor. Bunlara standart kütüphaneler diyoruz. Bir de üçüncü taraf kütüphaneler var, onları da ihtiyaç duyarsak internetten bilgisayarımıza indiriyoruz.
Kendiliğinden programımıza eklenen fonksiyonlar var zaten, bunlara da gömülü (builtin) fonksiyonlar diyoruz. Mesela print
ve input
bunlara örnektir. Bunlar programımıza builtins
modülü dahil edilerek geliyor. Yani Otomatik olarak import builtins
python tarafından çalıştırılıyormuş gibi de düşünebilirsiniz.
Neden gerektiğinde gereken kütüphaneleri import ediyoruz, neden hepsi otomatik bulunmuyor sorunuza dönersek bunun da sebebleri var. Bir kere her kütüphaneyi her zaman import etmek hem zaman alır, hem hafızada gereksiz yer kaplar. Ayrıca çok fazla değişken bulunacağı için isim karmaşasına da sebep olabilir. Hem siz bunu söylerken sanki çok az kütüphane varmış gibi söylüyorsunuz ancak sadece standart kütüphanelerin sayısı 700’ü geçiyor.
Eğer import ettiğiniz kütüphanelerin içeriğini merak ederseniz IDLE’da File → Open Module yolunu takip ederek incelemek istediğiniz modülün adını yazabilirsiniz. Tabii bunların kodları ile oynamamalısınız.
mesela import math dediğimizde math kütüphanesi standart kütüphane midir (dediğiniz gibi open module e baktım math diye aradım çıkmadı), üçüncü taraf kütüphanesi ise IDLE de ben import math deyince ben görmeden mi iniyor bilgisayarıma gerçekten aklım karıştı
yani standart kütüphaneler programın hafızasında ama biz import edinceye kadar pasif ler mi, böyle mi oluyor, takıldım ben bu konuya
Evet.
Onu açamazsınız çünkü python ile yazılmamıştır, performans için C dili ile yazılmıştır.
Hayır, eğer bilgisayarınızda bulunmayan bir kütüphaneyi import etmeye çalışırsanız hata alırsınız, elle indirmeniz lazım. Yani siz import falanca kütüphane
diyince bilgisayarınıza bir şey inmez.
Bilgisayarın diskinde, RAM’da değil. Yani bilgisayarımızda yüklüler, mesela C: diskinde olabilir. Ama biz import dediğimizde RAM’a yükleniyorlar.
ben, kütüphaneleri yüklediğimiz programla birlikte gelen her programın kendi hafızasında diye anlam çıkarmıştım ilk anlatımınızdan, şimdi anladım ki python programını yükleseydim de yüklemeseydim de bilgisayarımızda math kütüphanesi diye birşey zaten vardı işletim sistem dosyaları içinde? doğru mu anladım şimdi…gerçekten çok sağolun…
Bunu nasıl anladınız Bu modül de Python’a aittir, tek farkı C dili ile yazılmış olması. Bu modül de bilgisayarınıza yüklediğiniz Python ile gelmiştir. Python kodları zaten C dili ile yazılan yorumlayıcı tarafından çalıştırılmaktadır.
yukardaki ifadeden çıkardım kendimce…kusur bana ait elbette…acemiliğime verin…mantığını anlamadan hiçbişeyi ezberleyemiyorum o yüzden takıldım belki de bu konuya zihnimde bir yerlere oturtmaya çalışıyorum öğrendiklerimi sizi yorduysam afedersiniz
Estağfirullah, ben C diski diyince aklınız işletim sistemine gitti sanırım. Ben çoğu uygulama oraya kuruluyor diye onu örnek vermiştim.
Verilmis cevaplara ek olarak yaziyorum, o yuzden cevaplarim tam degil.
Tam kurallar burada.
Import edilen seylerin adi “modul” (module). Senin tanimladigin seyler ise kutuphane (library). Python’a kutuphaneler hemen her zaman modul olarak geliyor. Ama her modul kutuphane icermiyor. Birden fazla dosyaya ayrilmis kod parcalari birbirlerini modul olarak gorup import ediyorlar.
Bunun icin genelde pip kullaniliyor.
Standart kutuphanede yuzlerce modul ve muhtemelen onbinlerce fonksiyon var (tam sayisini yarin bulacagim.) Hepsinin her daim kullanima hazir olmasi hafiza israfi oldugu gibi herhangi bir noktada insan kullanimi icin liste almak istersen bunu imkansiz kiliyor. Ayrica bazi moduller import esnasinda kod calistiriyor.
Buyuk kodlari hiyerarsik isimler altina almaya namespacing deniyor. Bildigim butun buyuk kutuphaneler bu sekilde organize edilmis.
Import sisteminin detayli aciklamasi burada. Bence bu cok karisik ve alman gereken sadece, moduller:
- import eden dosya ile ayni dizinde
sys.path
’teki dizinlerin birinde- standart kutuphaneye bagli olarak python kurulumunun icinde (ve gorunmez)
olabilir.
ikinize de çok teşekkür ederim aydınlattığınız için…değerli bilgilerdi benim için, kitap aldım, sıkıcı anlatımı olduğu için mi bilemiyorum başlamadan bitti, kurs satın aldım, hiç sizin bu anlattıklarınız gibi açıklama yok, kuru anlatım da ezberden öte geçmez…çok sağolun bunları bilmek önemliydi…
3.7.5’te 1097 modul ve 3811 fonksiyon varmis.
Belgelere göz attınız mı hiç?
Bu standart modüllerin isimlerini öğrenmenin kolay bir yolunu buldum, Python3.8.0 için sonuç bunlar:
6445 primitive
4135 function
2971 class
1483 module
1248 other
oraya da bakacağım.tşk.ler