7 buku Python luar biasa untuk setiap tingkat keahlian

Semakin populer atau lebih kuat suatu bahasa pemrograman, semakin besar peluang untuk menemukan tidak hanya banyak buku tentangnya, tetapi juga keragaman buku. Karena Python semakin populer, begitu pula jumlah dan variasi buku yang dibuat untuk membantu orang mempelajari bahasa dan menguasai kerumitannya.

Berikut adalah tujuh buku terbaik tentang pemrograman dengan Python, mulai dari panduan pemula hingga kemampuan power-Python. Baik Anda baru memulai, atau Anda telah bekerja dengan Python selama beberapa waktu, kemungkinan besar ada buku di sini untuk Anda. Beberapa tersedia dalam edisi online atau PDF secara gratis. 

Otomatiskan Barang Membosankan dengan Python

Kebanyakan pengenalan bahasa pemrograman, atau pemrograman secara umum, bersifat konseptual. Mereka berbicara tentang pemrograman secara abstrak. Automate the Boring Stuff with Python dari Rob Sweigart   berbicara tentang pemrograman secara khusus: Ia menggunakan kursus dengan Python sebagai cara untuk mempelajari cara mengubah tugas yang membosankan menjadi skrip Python yang tajam.

Automate  ditujukan pada pemula untuk Python dan komputasi secara umum. Ini dibuka dengan membuat pembaca nyaman dengan IDE sederhana (editor "Mu"), kemudian melangkah melalui penggunaan input, kontrol aliran, fungsi, koleksi objek (daftar, kamus), memvalidasi input dan pencocokan pola, dan bekerja dengan file.

Paruh kedua buku ini lebih berorientasi pada tugas dan proyek. Ini mencakup tugas otomatisasi umum: bekerja dengan spreadsheet dan dokumen teks, mengirim email, memanipulasi gambar, dan mengotomatiskan interaksi GUI.

Apa yang membuat  Automate  menjadi buku pemula yang berharga adalah bagaimana ia menjalankan, sepanjang jalan, proyek yang sesuai dengan level pelajaran saat ini - seperti permainan gunting batu-batu sederhana (meskipun bertele-tele) untuk mengajarkan kontrol aliran, atau Pig Latin generator untuk mengajarkan manipulasi string. Ini juga membutuhkan waktu untuk memetakan, lagi dan lagi, bagaimana menerjemahkan apa yang ingin kita lakukan (pertama ini, lalu ini, lalu ini) menjadi apa yang dilakukan program.

Automate the Boring Stuff dengan Python  tersedia dalam berbagai format: edisi online gratis, edisi ebook dan cetak, dan kursus Udemy (50 video).

Amazon: //www.amazon.com/Automate-Boring-Stuff-Python-2nd/dp/1593279922

Sebuah Byte of Python

“Bersahaja” adalah kata terbaik untuk mendeskripsikan A Byte of Python karya Swaroop Chitlur  . Ini adalah panduan Python yang paling mudah dan paling mudah diakses, jika juga salah satu yang paling tidak menarik. Itu tidak menggunakan tipu muslihat, proyek, atau ilustrasi lucu, tetapi menghilangkannya juga merupakan salah satu kekuatan terbesarnya: tidak ada yang menghalangi pembaca dan pelajaran.

Buku ini memandu pembaca terlebih dahulu melalui penyiapan dan konfigurasi instance Python, kemudian penggunaan REPL dan editor (PyCharm mendapatkan sebagian besar cakupan di sana). Dari sana ia melangkah melalui variabel dan jenis, operator, aliran kontrol, fungsi, modul, struktur data (termasuk kelas, meskipun ada bab lengkap tentang OOP), I / O, pengecualian, dan ikhtisar singkat dari gagasan seperti pemahaman daftar dan dekorator.

Buku ini memiliki sedikit kekurangan. Salah satunya adalah organisasi: Input dan output ditangani cukup terlambat, ketika sebagian besar tutorial mengajarkannya lebih awal. Selain itu, beberapa item yang layak untuk menjadi ringkasan Python dasar, seperti manajer konteks, tidak tercakup sama sekali. Tapi secara keseluruhan, buku ini adalah pengantar bahasa tanpa embel-embel yang bagus.

A Byte of Python  secara nominal tersedia secara gratis sebagai buku berbasis web, tetapi juga tersedia sebagai unduhan PDF dan dalam bentuk cetak. Banyak terjemahan ke bahasa selain bahasa Inggris juga tersedia.

Amazon (hanya Kindle): //www.amazon.com/Byte-Python-Swaroop-CH-ebook/dp/B00FJ7S2JU

Belajar Python, Edisi ke-5

Pemrograman Python, Edisi ke-4

Untuk kelengkapan belaka dan all-in-one-ness, tidak ada yang mengalahkan Pembelajaran Python  dan  Pemrograman Python Mark Lutz  . Kedua buku itu masing-masing lebih dari enam ratus halaman  , tetapi jangan biarkan ukurannya membuat Anda takut - mereka dimaksudkan untuk dicerna secara topikal, daripada dibaca dari ujung ke ujung.

Hampir setiap topik di Python, seperti Python 3.3, tercakup dalam  Belajar Python , dan dibahas secara mendalam. Jika Anda ingin mempelajari segala sesuatu yang perlu diketahui tentang dekorator, misalnya, bab tentang topik tersebut merupakan kursus mini tentang subjek tersebut.

Pemrograman Python  adalah tentang menggunakan Python untuk membangun aplikasi dunia nyata. Alih-alih hanya menggambarkan komponen bahasa, ia mengeksplorasi pemrograman sistem, GUI, klien dan server Internet, database, integrasi dengan C, dan banyak lagi.

Kelemahan terbesar dari Belajar Python  bukanlah ukurannya, tetapi usianya. Edisi ke-5 keluar pada tahun 2013, mencakup Python 3.3 dan 2.7, jadi tidak mencakup banyak inovasi signifikan yang diluncurkan ke Python sejak saat itu. Pada 2016, Lutz tidak berencana untuk memperbaruinya, sebagian karena kesulitan yang didokumentasikan dengan penerbit. 

Amazon: //www.amazon.com/Learning-Python-5th-Mark-Lutz/dp/1449355730; //www.amazon.com/Programming-Python-Powerful-Object-Oriented-dp-0596158106/dp/0596158106/

Python Kinerja Tinggi: Pemrograman Berkinerja Praktis untuk Manusia

Siapapun yang tertarik jauh untuk membuat Python lebih cepat atau lebih efisien harus menambahkan buku ini ke koleksi mereka.

"Python" dan "performa tinggi" tidak sering diucapkan bersamaan. Apa yang Python berikan kepada Anda dalam kenyamanan, itu menghilangkan kecepatan mentah, tingkat mesin. Tapi itu tidak berarti Python berkecepatan tinggi tidak mungkin; seperti banyak hal yang "tidak mungkin", ini hanya membutuhkan sedikit usaha.

Python Kinerja Tinggi: Pemrograman Berkinerja Praktis untuk Manusia , oleh Micha Gorelick dan Ian Ozsvald, memandu programmer Python berpengalaman melalui semua cara kode Python dapat dibuat lebih cepat, dari pengoptimalan Python murni sederhana hingga menggulirkan kode C kustom. Buku ini dimulai dengan mendalami pembuatan profil aplikasi, keterampilan utama untuk mendiagnosis dan mengoreksi masalah kinerja dengan aplikasi Python apa pun, kemudian mengeksplorasi pengoptimalan khusus secara bergantian:

  • Pola akses dan kinerja big-O dari berbagai struktur data, seperti daftar versus kamus dan kumpulan.
  • Bagaimana generator dapat digunakan untuk menghemat memori untuk masalah komputasi yang besar.
  • Menggunakan matriks dan vektor - intinya, pengantar penggunaan NumPy dan Pandas untuk matematika yang lebih cepat.
  • Menggunakan Cython, Numba, PyPy, dan kompiler dan runtime pihak ketiga lainnya untuk kecepatan level mesin. Pembahasan masing-masing dapat menempati keseluruhan buku (dalam kasus Cython, memang) sendiri, jadi hanya kasus penggunaan paling dasar dan umum yang dibahas di sini. Tetapi Anda akan dipersiapkan dengan baik untuk pembelajaran lebih lanjut.
  • Menggunakan pemrograman asinkron untuk mempercepat beberapa operasi yang bergantung pada I / O.
  • Menggunakan multiprocessing untuk menghindari GIL, dan menggunakan clustering dan antrean tugas untuk membagi pekerjaan lebih lanjut.

Bab yang panjang juga diambil dengan catatan tentang solusi untuk masalah kinerja Python dunia nyata, termasuk penerapan pipeline machine learning. Edisi kedua buku ini memperbarui teks untuk versi terbaru Python, dan mencakup materi tentang bekerja dengan GPU.

Amazon: //www.amazon.com/High-Performance-Python-Performant-Programming/dp/1492055026/

Python Lancar

Setelah Anda menguasai dasar-dasarnya, apa selanjutnya? Fluent Python  menjawab pertanyaan itu.

Pemrogram yang sudah cukup mengetahui Python untuk menulis program mereka sendiri sering kesulitan untuk melanjutkan ke tahap berikutnya: memanfaatkan rangkaian fitur unik Python untuk menulis perangkat lunak yang benar-benar hebat.  Fluent Python , oleh Luciano Ramalho, memandu programmer melalui banyak aspek utama Python yang dimanfaatkan oleh para ahli: menguasai model data Python dan "metode dunder", penggunaan lanjutan dari kumpulan data seperti set dan kamus, membuat objek yang berfungsi sebagai catatan (bukan hanya kelas, tetapi bernama tuple dan dataclasses), menggunakan fungsi sebagai objek, mengetik petunjuk, dan banyak lagi.

Sementara beberapa materi (misalnya, lambda) mungkin bukan hal baru bahkan bagi pemrogram Python yang cukup berpengalaman, buku ini menunjukkan bagaimana elemen-elemen ini berharga bagi pemrogram tingkat lanjut. Bahkan jika Anda pernah menggunakan fitur Python ini sebelumnya, buku ini akan menunjukkan kepada Anda bagaimana membangun program yang lebih kuat dengan mereka, dan bagaimana memilih dengan bijak antara alternatif serupa (misalnya, struct dan memoryviews) untuk pekerjaan tingkat lanjut.

Saat tulisan ini dibuat, Fluent Python, Edisi ke-2  tersedia sebagai draf rilis awal dengan keanggotaan O'Reilly, atau dapat dipesan sebelumnya di Amazon.

Amazon: //www.amazon.com/Fluent-Python-Concise-Effective-Programming/dp/1492056359

Pikirkan Python

Sub judul buku ini adalah "Bagaimana Berpikir Seperti Ilmuwan Komputer", yang memberi Anda petunjuk tentang maksud buku tersebut. Think Python , oleh Allen B.Downey, adalah panduan untuk belajar Python yang ditujukan untuk pemula, tetapi tujuan yang lebih besar adalah untuk membantu pembaca memahami tentang pemrograman, apa artinya menjadi programmer, dan mengapa program komputer berfungsi dengan baik. mereka melakukannya. Python hanyalah arena tempat ide-ide itu dieksplorasi. Mengingat betapa mudahnya Python untuk dipelajari, ini adalah pilihan yang masuk akal.

Pikirkan Python  dimulai dengan konsep formal - apa itu program, apa itu input dan output, apa jenis dan nilai, dan bagaimana program menangani informasi dalam istilah tersebut. Dari sana buku beralih ke bagaimana pernyataan dan urutan operasi bekerja, dan bagaimana pernyataan dapat dirangkai menjadi ekspresi dan fungsi. Penanganan kondisi dan aliran kontrol, iterasi, jenis koleksi (string, daftar, kamus), file I / O, kelas, dan pewarisan, bersama dengan banyak fitur Python berguna yang diberi tag "Goodies," semuanya menerima babnya sendiri.

Apa yang paling menarik tentang  Think Python , selain bahasanya yang jelas dan langsung, adalah bagaimana ia secara konstan menghubungkan setiap bit informasi dengan tema sentral tentang bagaimana komputer dan program komputer bekerja, dan teknik apa yang digunakan dalam pemrograman untuk mencapai tujuan akhir. Untuk pendatang baru, ini lebih penting daripada yang mungkin mereka sadari pada awalnya.

Pikirkan Python  tersedia sebagai ebook gratis dalam format PDF atau HTML. 

Amazon: //www.amazon.com/gp/product/1491939362