☕ 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