7 buku Python yang hebat untuk setiap tahap kemahiran

Semakin popular atau lebih kuat bahasa pengaturcaraan, semakin baik kemungkinan untuk mencari bukan sahaja banyak buku mengenainya, tetapi kepelbagaian buku. Oleh kerana Python semakin popular, begitu juga jumlah dan ragam buku yang dibuat untuk membantu orang mempelajari bahasa dan menguasai selok-beloknya.

Berikut adalah tujuh buku terbaik untuk pengaturcaraan dengan Python, mulai dari panduan pemula hingga kecekapan power-Python. Sama ada anda baru bermula, atau sudah lama bekerja dengan Python, kemungkinan besar ada buku di sini untuk anda. Beberapa tersedia dalam edisi dalam talian atau PDF secara percuma. 

Automatikkan Bahan Membosankan dengan Python

Sebilangan besar pengantar bahasa pengaturcaraan, atau pengaturcaraan secara umum, bersifat konseptual. Mereka bercakap mengenai pengaturcaraan secara abstrak. Rob Sweigart's  Automate the Boring Stuff with Python  membincangkan mengenai pengaturcaraan secara khusus: Ia menggunakan kursus di Python sebagai cara untuk belajar bagaimana mengubah tugas yang membosankan menjadi skrip Python yang pantas.

Automate  dipasang pada pemula hingga Python dan pengkomputeran secara amnya. Ini dibuka dengan membuat pembaca selesa dengan IDE sederhana (penyunting "Mu"), kemudian menuntun mereka melalui penggunaan input, kontrol aliran, fungsi, koleksi objek (daftar, kamus), mengesahkan pencocokan input dan pola, dan bekerja dengan fail.

Bahagian kedua buku ini lebih berorientasikan tugas dan projek. Ini merangkumi tugas automasi umum: bekerja dengan spreadsheet dan dokumen teks, mengirim e-mel, memanipulasi gambar, dan mengotomatisasi interaksi GUI.

Apa yang menjadikan  Automate  sebuah buku pemula yang berharga adalah bagaimana ia melancarkan, sepanjang jalan, projek yang sesuai dengan tahap pelajaran semasa - seperti permainan gunting kertas-kertas-sederhana (walaupun verbose) untuk mengajar kawalan aliran, atau Penjana Latin babi untuk mengajar manipulasi tali. Ia juga memerlukan masa untuk memetakan, berulang kali, bagaimana menerjemahkan apa yang ingin kita lakukan (pertama ini, kemudian ini, kemudian ini) ke dalam apa yang dilakukan oleh program.

Automate the Boring Stuff with Python  tersedia dalam pelbagai format: edisi dalam talian percuma, edisi ebook dan cetak, dan kursus Udemy (50 video).

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

Byte Python

"Tidak bersahaja" adalah perkataan terbaik untuk menggambarkan A Byte of Python milik Swaroop Chitlur  . Ini adalah panduan paling mudah dan mudah untuk Python di sekitar, jika juga salah satu yang paling tidak dihiasi. Ia tidak menggunakan tipu muslihat, projek, atau ilustrasi yang comel, tetapi menghilangkannya juga antara kekuatan terbesarnya: tidak ada yang muncul antara pembaca dan pelajaran.

Buku ini membimbing pembaca terlebih dahulu melalui penyediaan dan konfigurasi instance Python, kemudian penggunaan REPL dan editor (PyCharm mendapat sebahagian besar liputan di sana). Dari sana ia melangkah melalui pemboleh ubah dan jenis, pengendali, aliran kawalan, fungsi, modul, struktur data (termasuk kelas, walaupun ada bab lengkap mengenai OOP), I / O, pengecualian, dan gambaran keseluruhan ringkas mengenai pengertian seperti pemahaman senarai dan penghias.

Buku ini mempunyai sedikit kelemahan. Salah satunya adalah organisasi: Input dan output ditangani agak lewat, ketika kebanyakan tutorial mengajarkannya lebih awal. Juga, beberapa item yang layak berada dalam gambaran keseluruhan Python asas, seperti pengurus konteks, tidak dilindungi sama sekali. Tetapi secara keseluruhan, buku ini adalah pengantar bahasa yang baik.

Byte of Python  secara nominal tersedia secara percuma sebagai buku berasaskan web, tetapi juga tersedia sebagai muat turun PDF dan dalam bentuk salinan cetak. Terdapat banyak terjemahan ke bahasa selain bahasa Inggeris.

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

Belajar Python, Edisi Ke-5

Pengaturcaraan Python, Edisi Ke-4

Untuk kepelbagaian dan semua-dalam-satu, tidak ada yang mengalahkan Mark Lutz's  Learning Python  dan  Programming Python . Kedua-dua buku itu masing-masing lebih dari enam belas ratus halaman , tetapi jangan sampai ukuran menakutkan anda - buku-buku itu  dimaksudkan untuk dicerna secara topikal, dan bukannya dibaca secara menyeluruh.

Hampir setiap topik di Python, seperti Python 3.3, dibahas dalam  Learning Python , dan diliputi secara mendalam. Sekiranya anda ingin mempelajari semua perkara yang perlu diketahui mengenai penghias, contohnya, bab mengenai topik itu merupakan kursus mini mengenai perkara tersebut.

Pengaturcaraan Python  adalah mengenai penggunaan Python untuk membina aplikasi dunia nyata. Daripada hanya menggambarkan komponen bahasa, ia meneroka pengaturcaraan sistem, GUI, klien dan pelayan Internet, pangkalan data, integrasi dengan C, dan banyak lagi.

Kelemahan terbesar Learning Python  bukanlah ukurannya, tetapi usianya. Edisi ke-5 dikeluarkan pada tahun 2013, merangkumi kedua Python 3.3 dan 2.7, jadi tidak merangkumi banyak inovasi penting yang dilancarkan ke Python sejak itu. Sehingga 2016, Lutz tidak mempunyai rancangan untuk memperbaruinya, sebahagiannya kerana kesulitan yang didokumentasikan dengan penerbitnya. 

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

Python Berprestasi Tinggi: Pengaturcaraan Pelaku Praktikal untuk Manusia

Sesiapa yang berminat untuk menjadikan Python lebih cepat atau lebih cekap harus menambahkan buku ini ke koleksi mereka.

"Python" dan "prestasi tinggi" tidak sering diucapkan dalam nafas yang sama. Apa yang Python berikan kepada anda dalam keselesaan, ia memerlukan kelajuan tahap mesin yang mentah. Tetapi itu tidak bermakna Python berkelajuan tinggi tidak mungkin; seperti banyak perkara "mustahil", hanya memerlukan sedikit kerja lagi.

Python Berprestasi Tinggi: Pengaturcaraan Pelaku Praktikal untuk Manusia , oleh Micha Gorelick dan Ian Ozsvald, berjalan dengan cara pengaturcara Python yang berpengalaman melalui semua cara kod Python dapat dibuat lebih cepat, dari pengoptimuman Python tulen sederhana hingga melancarkan kod C tersuai. Buku ini bermula dengan menyelami profil aplikasi, kemahiran utama untuk mendiagnosis dan membetulkan masalah prestasi dengan mana-mana aplikasi Python, kemudian meneroka pengoptimuman tertentu secara bergantian:

  • Akses corak dan prestasi besar-O dari pelbagai struktur data, seperti senarai berbanding kamus dan set.
  • Bagaimana penjana dapat digunakan untuk menyimpan memori untuk masalah komputasi yang besar.
  • Menggunakan matriks dan vektor - pada asasnya, pengenalan untuk menggunakan NumPy dan Pandas untuk matematik yang lebih pantas.
  • Menggunakan Cython, Numba, PyPy, dan penyusun dan masa runtuh pihak ketiga yang lain untuk kelajuan tahap mesin. Perbincangan masing-masing dapat merangkumi keseluruhan buku (dalam kes Cython, itu sendiri), jadi hanya kes penggunaan yang paling asas dan biasa dibahas di sini. Tetapi anda akan bersedia untuk pembelajaran selanjutnya.
  • Menggunakan pengaturcaraan tidak segerak untuk mempercepat operasi yang bergantung pada I / O.
  • Menggunakan multiproses untuk mengelakkan GIL, dan menggunakan kluster dan antrean pekerjaan untuk membahagikan kerja lebih jauh.

Bab yang panjang juga diambil dengan catatan mengenai penyelesaian terhadap masalah prestasi Python dunia nyata, termasuk menggunakan saluran pembelajaran mesin. Edisi kedua buku ini mengemas kini teks untuk versi terbaru Python, dan merangkumi bahan untuk bekerja dengan GPU.

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

Python yang fasih

Setelah anda menguasai asas-asasnya, apa seterusnya? Fluent Python  menjawab soalan itu.

Pengaturcara yang sudah cukup tahu Python untuk menulis program mereka sendiri sering berjuang untuk sampai ke peringkat seterusnya: menggunakan set unik Python untuk menulis perisian yang benar-benar hebat.  Fluent Python , oleh Luciano Ramalho, memandu pengaturcara melalui banyak aspek penting Python seperti yang dimanfaatkan oleh pakar: menguasai model data Python dan "kaedah dunder", penggunaan lanjutan pengumpulan data seperti set dan kamus, membuat objek yang berfungsi sebagai rekod (tidak hanya kelas, tetapi bernama tuples dan dataclasses), menggunakan fungsi sebagai objek, jenis petunjuk, dan banyak lagi.

Walaupun sebahagian daripada bahan (misalnya, lambdas) mungkin bukan baru untuk pengaturcara Python yang berpengalaman, buku ini menunjukkan bagaimana elemen-elemen ini sangat berharga bagi pengaturcara yang maju. Walaupun anda pernah menggunakan ciri-ciri Python ini sebelumnya, buku ini akan menunjukkan kepada anda cara membina program yang lebih mantap dengan mereka, dan bagaimana memilih dengan bijak antara alternatif yang serupa (contohnya, struktur dan pandangan memori) untuk kerja lanjutan.

Pada penulisan ini, Fluent Python, Edisi ke-2  tersedia sebagai draf pelepasan awal dengan keahlian O'Reilly, atau ia boleh diprapesan di Amazon.

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

Fikirkan Python

Subtitle buku ini adalah "Cara Berfikir Seperti Seorang Saintis Komputer," yang memberi anda sedikit petunjuk tentang niat buku ini. Think Python , oleh Allen B. Downey, adalah panduan untuk mempelajari Python yang ditujukan untuk pemula total, tetapi tujuannya yang lebih besar adalah untuk membantu pembaca memahami apa itu pengaturcaraan, apa artinya menjadi pengaturcara, dan mengapa program komputer berfungsi dengan baik mereka buat. Python hanyalah arena di mana idea-idea itu diterokai. Memandangkan betapa mudahnya Python belajar, itu adalah pilihan yang masuk akal.

Think Python  bermula dengan konsep formal - apa itu program, apa input dan output, apa jenis dan nilai, dan bagaimana program menangani maklumat dalam istilah tersebut. Dari situ buku ini beralih ke bagaimana pernyataan dan perintah operasi berfungsi, dan bagaimana pernyataan dapat disatukan menjadi ungkapan dan fungsi. Aliran pengendalian dan kawalan keadaan, iterasi, jenis koleksi (rentetan, senarai, kamus), fail I / O, kelas, dan pewarisan, bersama dengan banyak fitur Python yang berguna yang ditandai "Goodies", semuanya menerima bab mereka sendiri.

Apa yang paling menarik tentang  Think Python , selain dari bahasa yang jelas dan langsung, adalah bagaimana ia selalu menghubungkan setiap bit maklumat dengan tema utama bagaimana komputer dan program komputer berfungsi, dan teknik mana yang digunakan dalam pengaturcaraan untuk mencapai apa yang berakhir. Bagi pendatang baru, ini lebih penting daripada yang mungkin mereka sedari.

Think Python  boleh didapati sebagai ebook percuma dalam format PDF atau HTML. 

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