Saya merasa terjebak di tengah-tengah Python, Bagaimana melewati pemula [tertutup]

22

Saya benar-benar minta maaf jika ini tidak mengikuti aturan SO tetapi saya butuh sedikit bantuan, saya pribadi masih mengklasifikasikan diri saya sebagai pemula dalam python, Namun saya telah menulis program yang sangat tidak praktis dan SANGAT PASTI untuk digunakan bos saya.

Saya tahu saya masih pemula karena hal-hal sederhana masih membingungkan saya, tetapi setiap buku yang saya baca untuk pemula dengan jujur ​​hanya mengulangi apa yang sudah saya ketahui tetapi setiap buku 'lebih maju' tidak benar-benar memungkinkan saya untuk belajar, mereka bergantung pada contoh file dan saya tidak pernah benar-benar mengerti mengapa mereka membangun kelas 'kata' fungsi atau 'kata'. Jadi pertanyaan saya ...

Apakah ada rekomendasi pada buku atau APA SAJA yang mendorong saya keluar dari tahap ini, saya telah menggunakan kepala terlebih dahulu dan biasanya mereka benar-benar baik tetapi masalah saya ada mereka membuat saya kembali melacak hanya untuk bergerak maju lagi, Ini bekerja dalam HTML tetapi ini membingungkan di Python, pada dasarnya saya pikir saya perlu membangun sebuah program sambil mengikuti, Sekali lagi saya suka gaya HeadFirst tapi saya butuh sesuatu yang tidak akan membuat saya harus mengingat satu hal hanya untuk melupakannya ...

Sebagai catatan, saya telah memeriksa beberapa buku O'Reilly

Isov5
sumber
7
Untuk setiap konsep awal, tulis beberapa program kecil sampai Anda terbiasa. Setelah Anda merasa nyaman, lakukan hal yang sama dengan lebih banyak dan lebih sampai Anda mendapatkan barang-barang canggih. Hanya membaca tanpa latihan dan coding tidak akan banyak membantu Anda.
6
Apakah Anda sudah membaca Bagaimana berpikir seperti Ilmuwan Komputer ?
Oscar Mederos
Sudahkah Anda mengikuti tutorial docs.python.org/tutorial/index.html ? Apakah Anda memiliki aspek spesifik yang membingungkan Anda? Jika Anda bisa mengilustrasikannya dengan beberapa contoh kode akan lebih baik.
juanchopanza
Bukankah bos membutuhkan program yang lebih besar yang ditulis dengan Python juga? Anda perlu pengalaman ...
2
lakukan, coba, dan ajukan pertanyaan ketika Anda tidak mengerti, orang-orang di sini akan membantu Anda.
monkut

Jawaban:

23

Berhenti membaca buku.

Pergi tulis kode menggunakan waktu sekarang bebas dari membaca. Praktek. Merenungkan. Hadapi masalah nyata dalam kode nyata yang Anda tulis.

Maka Anda akan memiliki cukup pertanyaan yang dapat dijawab oleh buku-buku tingkat lanjut. Sekarang Anda tidak memiliki pertanyaan-pertanyaan ini, dan jawaban di dalam buku tidak masuk akal bagi Anda.

Ini seperti belajar bahasa asing atau belajar berenang: buku saja tidak bisa membantu. Anda perlu banyak berlatih, maka otak Anda 'mengerti'.

9000
sumber
19

FWIW, cara saya benar-benar belajar Python adalah menulis aplikasi yang tidak sepele untuk diri saya sendiri . Sebenarnya itu adalah menulis ulang aplikasi yang sama yang saya buat sebelumnya untuk belajar C (dan C ++ kemudian), jadi saya sangat akrab dengan jenis pemrosesan yang perlu dilakukan. Selama masing-masing (kembali) menulis, saya mencoba mengambil keuntungan dari setiap fitur khusus yang ditawarkan oleh bahasa tertentu yang sedang digunakan atau yang ingin saya coba.

Sebagai bonus, ketika Anda selesai atau setidaknya memiliki versi yang berfungsi, Anda akan memiliki sesuatu yang benar-benar berguna, bukan latihan pemrograman yang tidak berharga dengan sendirinya. Anda juga dapat kembali lagi nanti dan mengubah program setelah mempelajari lebih banyak cara yang lebih baik untuk mencapai hal-hal dalam bahasa tersebut.

Salah satu cara yang sangat berguna untuk menjadi lebih baik dalam bahasa pemrograman apa pun adalah dengan hanya membaca banyak program lain. Salah satu cara yang baik untuk melakukannya hari ini adalah menggunakan Google, seperti yang dijelaskan dalam jawaban StackedOverflow ini . Ini adalah sumber yang bagus dan Anda akan sering membaca kode "kekuatan industri" yang ditulis oleh programmer profesional dan digunakan dalam aplikasi kehidupan nyata lainnya.

Memperbarui:

Karena Pencarian Kode Google dihentikan pada 15 Januari-2012, selain kembali ke pencarian Google biasa, ada sesuatu yang disebut Code Snippets Collection yang terlihat menjanjikan. Sejumlah sumber daya lain disebutkan dalam jawaban pertanyaan (tertutup) ini. Pengganti untuk Pencarian Kode Google? .

martineau
sumber
5
Penekanan pada non-sepele. Untuk mempelajari cara melakukan hal-hal sulit, cobalah untuk melakukan hal-hal sulit.
Bryan Oakley
5

Teruslah merogoh konsep yang mudah. Buatlah program kecil merangkum konsep mereka. Pada titik tertentu, Anda akan menghargai pemahaman dan hal-hal baru akan lebih masuk akal bagi Anda. Saya juga menyimpan direktori yang disebut potongan Python. Saya merasa berguna sebagai titik awal dalam konsep tertentu.

Satu trik lain yang menurut saya sangat berharga adalah membaca kode orang lain dan berkomentar, merangkum apa yang dilakukan setiap baris dan bagian. Jika saya tidak tahu, maka saatnya untuk Google. Dengan cara ini saya bisa melihat Python beraksi dan saya bisa memecahnya menjadi beberapa bagian yang rapi.

Salah satu sumber daya yang kaya untuk kode adalah sumber Python itu sendiri.

Alan
sumber
5

Jika Anda tidak yakin tentang pustaka Python dasar atau desain berorientasi objek (karena Anda menyebutkan tidak tahu mengapa fungsi "berkata" kelas atau "berkata" digunakan):

  1. Keterampilan Bangunan dalam Desain Berorientasi Objek benar-benar membantu Anda berpikir melalui desain berorientasi objek.

  2. Situs S.Lott lainnya, Building Skill in Python , mungkin juga merupakan cara yang baik bagi Anda untuk memperluas keterampilan Python Anda di luar dasar-dasar. Ini memiliki banyak aplikasi yang sedikit lebih sederhana daripada buku-buku yang tercantum di bawah ini, tetapi masih menyenangkan dan instruktif.


Jika masalah Anda adalah Anda tidak dapat menemukan cara menggunakan Python untuk melakukan sesuatu yang menarik:

1) Awal Python: Dari Novice hingga Professional masuk ke beberapa hal menarik: GUI, menulis aplikasi berbagi file Anda sendiri, dll. Saya suka gaya Hetland juga.

2) Anda menyebutkan buku-buku O'Reilly, tetapi Memprogram Python berurusan hampir seluruhnya dengan aplikasi, bukan sintaks. Ini memiliki banyak aplikasi menarik yang akan membuat jus kreatif Anda mengalir. Ini adalah buku yang sangat besar (~ 1.500 halaman saya pikir), dan 4e sepenuhnya berfokus pada Python 3, tetapi jelas membuka mata Anda tentang bagaimana orang menggunakan Python.

MikeRand
sumber
+1 untuk referensi ke situs S. Lott ... Saya belum pernah melihatnya sebelumnya.
Gerrat
4

Ada dua buku Python yang akan saya rekomendasikan, dan salah satunya sudah disebutkan oleh @MikeRand:

  • Dive Into Python 3 adalah buku wajib yang mencakup pengantar dan beberapa topik lebih lanjut.
  • Memprogram Python adalah IMHO buku yang tepat untuk pindah ke topik Python yang sangat canggih. Ini juga mencakup banyak area, misalnya (G) UI, aplikasi sistem, pemrograman web, dll.

Perhatikan bahwa versi terbaru dari kedua buku mencakup Python 3. Jika Anda bekerja dengan versi Python yang lebih lama, cari versi buku yang lebih lama. FTR, opsi alternatif adalah Python untuk Desain Perangkat Lunak (sebelumnya Cara Berpikir Seperti Ilmuwan Komputer: Belajar dengan Python disebutkan oleh @ oscar-mederos) tetapi sebagian besar kontennya juga merupakan pengantar (dan dalam hal ini saya akan merekomendasikan Dive Into Python sebagai gantinya ).

sakisk
sumber
3

Cara paling efisien adalah mendapatkan kode Anda ditinjau secara berkala oleh mentor yang berpengalaman, dan menerapkan sarannya. Ini adalah salah satu manfaat terbesar dari gelar sarjana, tetapi tidak harus seformal itu. Saya menganggap diri saya seorang programmer tingkat lanjut, tetapi saya masih berjalan menyusuri aula untuk mendiskusikan keputusan desain utama dengan rekan sebelum pengkodean, dan mendapatkan produk jadi ditinjau setelah itu.

Karl Bielefeldt
sumber
0

Selain beberapa buku yang disebutkan (terutama Cara Berpikir Seperti Ilmuwan Komputer ), checkout situs Resep Python ActiveState . Baca beberapa hal yang menarik minat Anda, lihat kodenya, dan cari tahu bagaimana Anda akan mendekati masalah dan bagaimana itu berbeda dari apa yang ada dalam resep.

Peter Rowell
sumber
-1

Ini adalah saran yang sangat aneh, tetapi cara saya berada di tempat saya adalah dengan mengajukan pertanyaan dan menonton orang lain mengajukan pertanyaan, dan membaca jawabannya. Jadi, menjelajah pertanyaan Python-tagged Stack Overflow, atau (seperti dalam kasus saya) menjadi biasa di #python di freenode.

Devin Jeanpierre
sumber
-3

Coba buku "Hello World! Pemrograman Komputer untuk Remaja dan Pemula Lainnya" oleh Warren dan Carter Sande adalah bagaimana saya belajar Python Scripting, atau saya pernah mendengar "Hello! Python" oleh Anthony Briggs juga buku yang fantastis.

Berfokuslah pada pengorganisasian program-program Anda dengan fungsi, komentar, dan semacam struktur untuk bagaimana program itu mengalir. Jangan lupa: Program hanyalah serangkaian instruksi yang diikuti komputer. Buatlah mudah dibaca dan dimengerti.

ryanb173
sumber