I\O veri tipi nasıl oluyor da integer olarak algılanıyor

Biraz linklere göz atsanız ve kodunuzla ilişkilerini göz önüne alırsanız anlayacağınıza eminim.

ama zaten baktım ki 20 karakter

ipucu 3

import os mu desin (20 karakter)

galiba os modülünü kullanmamı istiyorlar

tamam peki(20 karakter)

Hayir, os modulunde de baska bir is yapan open fonksiyonu var, bunu diyorlar.

abi bu modüller ne değişik ya

ama bunu demiş zaten

aynen hem ben bu hatayı bazen alıyorum bazen almıyorum bu nedenle artık dosya açmaya korkar oldum

ipucu2’de geçen önemli ifade:

Python’daki modülleri from modül_adı import * formülüne göre içe aktarmak da mümkündür (bu yönteme ‘yıldızlı içe aktarma’ diyebilirsiniz). Bu şekilde bir modül içindeki bütün fonksiyon ve nitelikleri içe aktarmış oluruz (ismi _ ile başlayanlar hariç)
(…)
Ancak bu yöntem pek tavsiye edilmez. Çünkü bu şekilde, modül içindeki bütün isimleri kontrolsüz bir şekilde mevcut ortama ‘boşaltmış’ oluyoruz. Mesela eğer modül bu şekilde içe aktarılmadan önce version diye başka bir değişken tanımlamışsanız, modül içe aktarıldıktan sonra, önceden tanımladığınız bu version değişkeninin değeri kaybolacaktır:

ipucu1’de de os modülünün içinde bulunan os.open() fonksiyonu verilmiş.

ipucu3’de ise from os import * ile os modülünün içindeki herşeyi kodunuza boşaltmış oldunuz. Bu yüzden de os modülünün içindeki open() ile builtin fonksiyon olan open() çakıştı. Yani siz open()'ı çağırdığınızda os modülünün içindeki open() fonksiyonunu çağırıyorsunuz.

Bu yüzden de from modul_adi import * böyle çakışmalara yol açabileceği için tavsiye edilmez.

1 Beğeni

şimdi anladım ve sorun çözüldü

hiç bir panel bulamadı mı