Python’ın dinamik yazım özelliği esneklik sunar, ancak bazen çalışma zamanında bir değişkenin türünü belirlemeniz gerekir. Bu makale, Python’da değişken türlerini kontrol etmenin verimli yöntemlerini ele almaktadır.
İçerik Tablosu
- Python Veri Türleri
- Tip Kontrol Yöntemleri
type()
Fonksiyonunun Kullanımıisinstance()
Fonksiyonunun Kullanımı- Tip Hatalarının İşlenmesi
Python Veri Türleri
Etkin tip kontrolü için Python’ın temel veri türlerini anlamak çok önemlidir. Temel yerleşik türler şunlardır:
- Tam sayılar (
int
): Tam sayılar (örneğin, 10, -5, 0) - Kayan noktalı sayılar (
float
): Ondalıklı sayılar (örneğin, 3.14, -2.5, 0.0) - Dizeler (
str
): Karakter dizileri (örneğin, “Merhaba”, ‘Python’) - Boole değerleri (
bool
):True
veyaFalse
- Listeler (
list
): Sıralı, değiştirilebilir diziler (örneğin, [1, 2, 3]) - Demetler (
tuple
): Sıralı, değiştirilemez diziler (örneğin, (1, 2, 3)) - Sözlükler (
dict
): Anahtar-değer çiftleri (örneğin, {‘ad’: ‘Ayşe’, ‘yaş’: 30}) - Kümeler (
set
): Sırasız, benzersiz öğelerden oluşan koleksiyonlar (örneğin, {1, 2, 3}) - NoneType (
None
): Bir değerin yokluğunu temsil eder
Tip Kontrol Yöntemleri
Python, değişken türlerini kontrol etmenin birkaç yolunu sunar. En yaygın olanları type()
ve isinstance()
fonksiyonlarıdır.
type()
Fonksiyonunun Kullanımı
type()
fonksiyonu doğrudan bir nesnenin türünü döndürür.
x = 10
y = 3.14
z = "Merhaba"
a = True
benim_listem = [1, 2, 3]
print(type(x)) # Çıktı: <class 'int'>
print(type(y)) # Çıktı: <class 'float'>
print(type(z)) # Çıktı: <class 'str'>
print(type(a)) # Çıktı: <class 'bool'>
print(type(benim_listem)) # Çıktı: <class 'list'>
isinstance()
Fonksiyonunun Kullanımı
isinstance()
özellikle kalıtımla birlikte daha fazla esneklik sunar. Bir nesnenin bir sınıfın veya alt sınıfının örneği olup olmadığını kontrol eder.
x = 10
y = 3.14
z = "Merhaba"
print(isinstance(x, int)) # Çıktı: True
print(isinstance(y, float)) # Çıktı: True
print(isinstance(z, str)) # Çıktı: True
print(isinstance(x, (int, float))) # Çıktı: True (x'in int VEYA float olup olmadığını kontrol eder)
isinstance()
, birden çok türü kontrol etmek veya özel sınıflarla çalışırken kullanışlıdır.
Tip Hatalarının İşlenmesi
Beklenmedik değişken türleri hatalara yol açabilir. Sağlam kod, hata işleme içerir:
def veri_işle(veri):
try:
if isinstance(veri, int):
# Tam sayı verilerini işle
sonuc = veri * 2
elif isinstance(veri, str):
# Dize verilerini işle
sonuc = veri.upper()
else:
raise TypeError("Desteklenmeyen veri türü")
return sonuc
except TypeError as e:
print(f"Hata: {e}")
return None
print(veri_işle(10)) # Çıktı: 20
print(veri_işle("merhaba")) # Çıktı: MERHABA
print(veri_işle([1,2,3])) # Çıktı: Hata: Desteklenmeyen veri türü
# None