Nah, Python tidak memiliki antarmuka, memang memiliki metaclasses, dan memang memungkinkan mengetik bebek. Python memiliki daftar pemahaman, yang sangat kuat dan tidak ada di Jawa. Java memiliki sistem tipe kaya dengan banyak struktur data, dan Python hanya memiliki daftar. Jadi jika Anda memanfaatkan apa yang dimiliki Python alih-alih mencoba menciptakan kembali apa yang dimiliki Java di Python, Anda mungkin menulis kode Pythonic.
Namun sejauh kode OO berjalan, ada dasar-dasar gaya tertentu yang tidak boleh berubah dari bahasa ke bahasa: Anda harus selalu berusaha keras untuk menulis kode yang Pemalu dan KERING, baik saat Anda menulis dalam Applescript, Python, Java, atau C ++.
---- Edit ----
Seperti @delnan tunjukkan dengan pedant, sebenarnya ada LIMA tipe data komposit yang didefinisikan oleh Python pada level Kernel (daftar, dict, tuple, set, dan frozenset, menurut salinan saya "Python in a Nutshell"). Meskipun ini benar, sebenarnya tidak relevan dengan poin yang saya coba buat: Python dibangun berdasarkan daftar sebagai struktur data penting. Ya, Anda BISA menggunakan daftar sebagai tumpukan, tetapi Anda dapat menggunakan daftar yang sama persis sebagai antrian. Dan kemudian tumpukan lagi.
Java, di sisi lain, memiliki satu struktur data kernel (Array, menurut "The Java Pocket Guide), tetapi secara umum, Anda tidak dapat menyelesaikan banyak hal di Java tanpa mengimpor koleksi. Setelah Anda melakukannya, Anda memiliki akses ke perpustakaan tipe 'kaya' (yang saya maksud sangat kompleks) untuk mendapatkan fungsi yang sama dengan yang Anda miliki dengan daftar Python.
Tentu saja, kedua bahasa memiliki kelas dan Java memiliki antarmuka, tetapi sementara itu adalah tipe data komposit, mereka tidak benar-benar struktur data dalam arti buku teks.
Satu perbedaan adalah bahwa Anda tidak dapat memunculkan item dari Java Queue, dan Anda tidak bisa melewatkan objek Java Queue di suatu tempat yang mengharapkan Java Linked List. Jadi mungkin dengan "kaya" yang saya maksud sebenarnya adalah "kaku".
Jadi untuk menjelaskan apa yang saya maksud dengan mengatakan "Python hanya memiliki daftar", yang saya maksud adalah bahwa Anda dapat melakukan hampir semua yang perlu Anda lakukan dalam Python yang akan Anda lakukan dengan Java Collections menggunakan tipe Python Daftar. Jenis tunggal ini berfungsi sangat baik di Jawa.
Apa artinya ini bagi programmer Python? Ini berarti bahwa Anda dapat memanfaatkan tipe Daftar Python untuk menulis kode langsung yang sangat empuk tanpa menggunakan pustaka tambahan - dan kekesalan (yaitu, karakteristik menyampaikan nilai lebih dalam karakter yang lebih sedikit) adalah karakteristik inti dari kode "Pythonic" .