CodeBlanks Logo Icon CodeBlanks

from import

from x import y ile seçili ithalatı öğrenirsin.

from import

from ... import bir modülden yalnızca belirli bir öğeyi alır. Bu öğe artık modül adı olmadan kullanılabilir:

from math import sqrt
print(sqrt(16))  # 4.0

Burada yalnızca sqrt alınır; math.sqrt yazmaya gerek yoktur. Ama math adı yüklenmediği için math.pi kullanılamaz.

Bu, sık kullanılan birkaç öğeyi kısa adla çağırmak için elverişlidir.

from import avantajı ve riski

from math import sqrt kodu kısaltır. Ama from math import * tüm öğeleri yükler — bu tehlikelidir çünkü ad çakışmasına yol açabilir:

# riskli
from math import *
# sqrt nereden geldi? log nereden?

Yıldızlı içe aktarım, hangi adın hangi modülden geldiğini gizler. Büyük projelerde kaçınılmalıdır. Bunun yerine yalnızca gerekli öğeleri adlarıyla içe aktarmak daha güvenlidir.

İyi stil: from math import sqrt, pi.

Uygulama from math import sqrt ve pi

from math import sqrt, pi yaz. Sonra print(sqrt(16), pi) yaz.

Başlangıç kodu

main.py
# math modülünden sqrt ve pi al
# ikisini birlikte yazdır

Örnek çözüm

main.py
from math import sqrt, pi
print(sqrt(16), pi)

Beklenen çıktı

4.0 3.141592653589793

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 from import kalıbını tamamla

Soru
from math ____ sqrt
print(sqrt(16))
Cevap
from math import sqrt
print(sqrt(16))

Açıklama: from math import sqrt yalnızca sqrt'u alır.

2 from import eşleştir

Kavram Anlamı
from math import sqrt Tek öğe alır
sqrt(16) Doğrudan çağrı
import * Tehlikeli
from math import pi, sqrt Çoklu öğe

3 from math import sqrt sonrasında math.sqrt(16) ne yapar?

  • NameError verir Doğru cevap
  • Çalışır
  • TypeError verir
  • ImportError verir

Açıklama: from math import sqrt yalnızca sqrt'u alır; math adı yüklenmez.

Başlangıç bölümündeki tüm dersler