☕ Java → Python

Java → Python: Knowing Core Java makes learning Python much faster! The concepts are the same — only the syntax and some rules differ.

Knowing Core Java makes learning Python much faster! The concepts are the same — only the syntax and some rules differ. This section explains every Python concept from a familiar Java perspective: why it's needed, how it worked in Java, and how it works in Python.

1. Variables and Types

Java'da her değişkenin tipi derleme zamanında sabitlenir. Python'da tipler dinamik — aynı değişken farklı tipler tutabilir. Testleri daha hızlı yazarsın ama dikkatli olman gerekir.

Python type hints (count: int) Java gibi görünür ama çalışma zamanında zorlanmaz. Statik kontrol için mypy kullan.

2. None — the Equivalent of null

Java'da null NullPointerException'a yol açar. Python'da aynı risk var ama None olarak adlandırılır. "is None" kullanımı Java'nın Objects.equals() kullanımı gibi en iyi pratiktir.

"is None" kullan, "== None" değil — aynı nesne kontrolü yapar, __eq__ değil. value or "default" falsy check yapar (0, "", [] da default döner), dikkatli kullan.

3. List — the Equivalent of ArrayList

Java ArrayList ve Python list aynı amaca hizmet eder: dinamik boyutlu sıralı koleksiyon. Python sözdizimi çok daha kısadır — new yoktur, import yoktur, generic tip yoktur.

Python list mixed type destekler: [1, "hello", True]. append() = add(), remove() = remove(), len() = size(), in = contains(). "new ArrayList<>()" yok — sadece [].

4. Dict — the Equivalent of HashMap

Java HashMap ve Python dict aynı konsept: key-value eşlemeleri. Python sözdizimi çok daha temizdir — put/get yerine [] veya {} kullanılır, import gerekmez.

Python dict Python 3.7'den itibaren ekleme sırasını korur. Java HashMap sıra garantisi vermez. put() = result["k"] = v, get() = result.get("k"), entrySet() = .items().

5. Set — the Equivalent of HashSet