Apa sebenarnya yang dapat Anda lakukan dengan Python? Berikut adalah 3 aplikasi utama Python.

Jika Anda berpikir untuk belajar Python - atau jika Anda baru mulai mempelajarinya - Anda mungkin bertanya pada diri sendiri:

“Untuk apa saya bisa menggunakan Python?”

Nah, itu pertanyaan yang sulit untuk dijawab, karena ada begitu banyak aplikasi untuk Python.

Tetapi seiring waktu, saya telah mengamati bahwa ada 3 aplikasi populer utama untuk Python:

  • Pengembangan web
  • Ilmu Data - termasuk pembelajaran mesin, analisis data, dan visualisasi data
  • Scripting

Mari kita bicarakan masing-masing secara bergantian.

Pengembangan web

Kerangka web yang didasarkan pada Python seperti Django dan Flask baru-baru ini menjadi sangat populer untuk pengembangan web.

Kerangka kerja web ini membantu Anda membuat kode sisi server (kode backend) dengan Python. Itulah kode yang berjalan di server Anda, bukan di perangkat dan browser pengguna (kode front-end). Jika Anda tidak terbiasa dengan perbedaan antara kode backend dan kode front-end, silakan lihat catatan kaki saya di bawah ini.

Tapi tunggu dulu, kenapa saya butuh web framework?

Itu karena kerangka kerja web mempermudah pembuatan logika backend umum. Ini termasuk memetakan URL yang berbeda ke dalam potongan kode Python, menangani database, dan membuat file HTML yang dilihat pengguna di browser mereka.

Kerangka web Python mana yang harus saya gunakan?

Django dan Flask adalah dua dari kerangka web Python paling populer. Saya akan merekomendasikan menggunakan salah satunya jika Anda baru memulai.

Apa perbedaan antara Django dan Flask?

Ada artikel bagus tentang topik ini oleh Gareth Dwyer, jadi izinkan saya mengutipnya di sini:

te>

Kontras utama:

  • Flask memberikan kesederhanaan, fleksibilitas, dan kontrol yang sangat baik. Ini tidak opinionasi (ini memungkinkan Anda memutuskan bagaimana Anda ingin menerapkan sesuatu).
  • Django menyediakan pengalaman yang mencakup semuanya: Anda mendapatkan panel admin, antarmuka basis data, ORM [pemetaan relasional objek], dan struktur direktori untuk aplikasi dan proyek Anda di luar kotak.

Anda mungkin harus memilih:

  • Flask, jika Anda berfokus pada pengalaman dan kesempatan belajar, atau jika Anda ingin lebih mengontrol komponen mana yang akan digunakan (seperti database apa yang ingin Anda gunakan dan bagaimana Anda ingin berinteraksi dengannya).
  • Django, jika Anda fokus pada produk akhir. Terutama jika Anda bekerja dengan aplikasi langsung seperti situs berita, toko elektronik, atau blog, dan Anda ingin selalu ada satu cara yang jelas dalam melakukan sesuatu.

te>

Dengan kata lain, Jika Anda seorang pemula, Flask mungkin adalah pilihan yang lebih baik karena memiliki lebih sedikit komponen untuk ditangani. Selain itu, Flask adalah pilihan yang lebih baik jika Anda menginginkan lebih banyak penyesuaian.

Di sisi lain, jika Anda ingin membangun sesuatu secara langsung, Django mungkin akan membiarkan Anda sampai di sana lebih cepat.

Sekarang, jika Anda ingin mempelajari Django, saya merekomendasikan buku berjudul Django untuk Pemula. Anda bisa menemukannya di sini.

Anda juga dapat menemukan bab sampel gratis dari buku itu di sini.

Oke, lanjut ke topik selanjutnya!

Ilmu Data - termasuk pembelajaran mesin, analisis data, dan visualisasi data

Pertama-tama, mari kita tinjau apa pembelajaran mesin adalah .

Menurut saya, cara terbaik untuk menjelaskan apa itu pembelajaran mesin adalah dengan memberi Anda contoh sederhana.

Katakanlah Anda ingin mengembangkan program yang secara otomatis mendeteksi apa yang ada dalam gambar.

Jadi, diberikan gambar di bawah ini (Gambar 1), Anda ingin program Anda mengenali bahwa itu adalah seekor anjing.

Original text


Diberikan satu sama lain di bawah ini (Gambar 2), Anda ingin program Anda mengenali bahwa itu adalah tabel.

Anda mungkin berkata, baiklah, saya bisa menulis beberapa kode untuk melakukan itu. Misalnya, mungkin jika ada banyak piksel coklat muda pada gambar, maka kita dapat mengatakan itu seekor anjing.

Atau mungkin, Anda bisa mengetahui cara mendeteksi tepian dalam gambar. Lalu, Anda mungkin berkata, jika ada banyak tepi lurus, maka itu adalah meja.

Namun, pendekatan semacam ini menjadi rumit dengan cukup cepat. Bagaimana jika ada anjing putih di gambar tanpa bulu coklat? Bagaimana jika gambar hanya menunjukkan bagian meja yang bundar?

Di sinilah pembelajaran mesin berperan.

Pembelajaran mesin biasanya menerapkan algoritme yang secara otomatis mendeteksi pola dalam masukan yang diberikan.

Anda dapat memberikan, katakanlah, 1.000 gambar anjing dan 1.000 gambar meja ke algoritme pembelajaran mesin. Kemudian, ia akan mempelajari perbedaan antara anjing dan meja. Saat Anda memberinya gambar baru tentang anjing atau meja, ia akan dapat mengenali yang mana.

Saya pikir ini agak mirip dengan bagaimana seorang bayi mempelajari hal-hal baru. Bagaimana seorang bayi mengetahui bahwa satu benda terlihat seperti anjing dan yang lainnya adalah meja? Mungkin dari sekumpulan contoh.

Anda mungkin tidak secara eksplisit memberi tahu bayi, "Jika ada sesuatu yang berbulu dan berambut cokelat muda, maka itu mungkin anjing."

Anda mungkin hanya akan berkata, “Itu anjing. Ini juga seekor anjing. Dan yang ini adalah meja. Yang itu juga meja. "

Algoritme pembelajaran mesin bekerja dengan cara yang hampir sama.

Anda dapat menerapkan ide yang sama untuk:

  • sistem rekomendasi (pikirkan YouTube, Amazon, dan Netflix)
  • pengenalan wajah
  • pengenalan suara

di antara aplikasi lainnya.

Algoritme pembelajaran mesin populer yang mungkin pernah Anda dengar meliputi:

  • Jaringan saraf
  • Pembelajaran mendalam
  • Mendukung mesin vektor
  • Hutan acak

Anda dapat menggunakan salah satu algoritma di atas untuk menyelesaikan masalah pelabelan gambar yang saya jelaskan sebelumnya.

Python untuk pembelajaran mesin

Ada library dan framework machine learning yang populer untuk Python.

Dua yang paling populer adalah scikit-learn dan TensorFlow .

  • scikit-learn hadir dengan beberapa algoritma pembelajaran mesin yang lebih populer di dalamnya. Saya menyebutkan beberapa di antaranya di atas.
  • TensorFlow lebih merupakan library tingkat rendah yang memungkinkan Anda membuat algoritme machine learning kustom.

Jika Anda baru saja memulai proyek pembelajaran mesin, saya sarankan Anda memulai dengan scikit-learn. Jika Anda mulai mengalami masalah efisiensi, saya akan mulai mempelajari TensorFlow.

Bagaimana cara saya mempelajari pembelajaran mesin?

Untuk mempelajari dasar-dasar pembelajaran mesin, saya akan merekomendasikan kursus pembelajaran mesin Stanford atau Caltech.

Harap dicatat bahwa Anda membutuhkan pengetahuan dasar tentang kalkulus dan aljabar linier untuk memahami beberapa materi dalam kursus tersebut.

Kemudian, saya akan mempraktikkan apa yang telah Anda pelajari dari salah satu kursus tersebut dengan Kaggle. Ini adalah situs web tempat orang-orang bersaing untuk membuat algoritme pembelajaran mesin terbaik untuk masalah tertentu. Mereka juga memiliki tutorial yang bagus untuk pemula.

Bagaimana dengan analisis data dan visualisasi data?

Untuk membantu Anda memahami seperti apa tampilan ini, izinkan saya memberi Anda contoh sederhana di sini.

Katakanlah Anda bekerja untuk perusahaan yang menjual beberapa produk secara online.

Kemudian, sebagai analis data, Anda mungkin menggambar grafik batang seperti ini.

Dari grafik ini, kita dapat mengetahui bahwa pria membeli lebih dari 400 unit produk ini dan wanita membeli sekitar 350 unit produk ini pada hari Minggu khusus ini.

Sebagai seorang analis data, Anda mungkin mendapatkan beberapa kemungkinan penjelasan untuk perbedaan ini.

Satu penjelasan yang mungkin jelas adalah bahwa produk ini lebih populer di kalangan pria daripada wanita. Penjelasan lain yang mungkin adalah bahwa ukuran sampel terlalu kecil dan perbedaan ini disebabkan oleh kebetulan. Dan penjelasan lain yang mungkin mungkin adalah bahwa pria cenderung membeli produk ini lebih banyak hanya pada hari Minggu karena alasan tertentu.

Untuk memahami penjelasan mana yang benar, Anda dapat menggambar grafik lain seperti ini.

Alih-alih menampilkan data hanya untuk hari Minggu, kami melihat data selama seminggu penuh. Seperti yang Anda lihat, dari grafik ini, kita dapat melihat bahwa perbedaan ini cukup konsisten selama beberapa hari.

Dari analisis kecil ini, Anda mungkin menyimpulkan bahwa penjelasan paling meyakinkan untuk perbedaan ini adalah bahwa produk ini lebih populer di kalangan pria daripada di kalangan wanita.

Di sisi lain, bagaimana jika Anda melihat grafik seperti ini?

Lalu, apa yang menjelaskan perbedaan pada hari Minggu?

Anda mungkin berkata, mungkin pria cenderung membeli lebih banyak produk ini hanya pada hari Minggu karena alasan tertentu. Atau, mungkin itu hanya kebetulan bahwa pria membeli lebih banyak pada hari Minggu.

Jadi, ini adalah contoh sederhana tentang seperti apa analisis data di dunia nyata.

Pekerjaan analisis data yang saya lakukan ketika saya bekerja di Google dan Microsoft sangat mirip dengan contoh ini - hanya lebih kompleks. Saya sebenarnya menggunakan Python di Google untuk analisis semacam ini, sementara saya menggunakan JavaScript di Microsoft.

Saya menggunakan SQL di kedua perusahaan tersebut untuk mengambil data dari database kami. Kemudian, saya akan menggunakan Python dan Matplotlib (di Google) atau JavaScript dan D3.js (di Microsoft) untuk memvisualisasikan dan menganalisis data ini.

Analisis / visualisasi data dengan Python

Salah satu perpustakaan paling populer untuk visualisasi data adalah Matplotlib.

Ini adalah perpustakaan yang bagus untuk memulai karena:

  • Sangat mudah untuk memulai
  • Beberapa perpustakaan lain seperti seaborn didasarkan padanya. Jadi, mempelajari Matplotlib akan membantu Anda mempelajari perpustakaan lain ini nanti.

Bagaimana saya harus mempelajari analisis / visualisasi data dengan Python?

Anda harus terlebih dahulu mempelajari dasar-dasar analisis dan visualisasi data. Ketika saya mencari sumber daya yang bagus untuk ini secara online, saya tidak dapat menemukannya. Jadi, saya akhirnya membuat video YouTube tentang topik ini:

Saya juga akhirnya membuat kursus lengkap tentang topik ini di Pluralsight, yang dapat Anda ambil secara gratis dengan mendaftar ke uji coba gratis 10 hari mereka.

Saya akan merekomendasikan keduanya.

Setelah mempelajari dasar-dasar analisis dan visualisasi data, mempelajari dasar-dasar statistik dari situs web seperti Coursera dan Khan Academy juga akan membantu.

Scripting

Apa itu scripting?

Scripting biasanya mengacu pada penulisan program kecil yang dirancang untuk mengotomatiskan tugas-tugas sederhana.

Jadi, izinkan saya memberi Anda contoh dari pengalaman pribadi saya di sini.

Saya dulu bekerja di perusahaan rintisan kecil di Jepang di mana kami memiliki sistem dukungan email. Itu adalah sistem bagi kami untuk menanggapi pertanyaan yang dikirim pelanggan kepada kami melalui email.

Ketika saya bekerja disana, saya mempunyai tugas untuk menghitung jumlah email yang mengandung kata kunci tertentu sehingga kami dapat menganalisis email yang kami terima.

Kami dapat melakukannya secara manual, tetapi sebaliknya, saya menulis program sederhana / skrip sederhana untuk mengotomatiskan tugas ini.

Sebenarnya, kami menggunakan Ruby saat itu, tetapi Python juga merupakan bahasa yang bagus untuk tugas semacam ini. Python cocok untuk jenis tugas ini terutama karena ia memiliki sintaks yang relatif sederhana dan mudah untuk ditulis. Ini juga cepat untuk menulis sesuatu yang kecil dengannya dan mengujinya.

Bagaimana dengan aplikasi yang disematkan?

Saya bukan ahli dalam aplikasi yang disematkan, tetapi saya tahu bahwa Python berfungsi dengan Rasberry Pi. Sepertinya aplikasi populer di kalangan penggemar perangkat keras.

Bagaimana dengan game?

Anda dapat menggunakan pustaka bernama PyGame untuk mengembangkan game, tetapi ini bukan mesin game paling populer di luar sana. Anda bisa menggunakannya untuk membangun proyek hobi, tetapi saya pribadi tidak akan memilihnya jika Anda serius tentang pengembangan game.

Sebaliknya, saya akan merekomendasikan untuk memulai dengan Unity dengan C #, yang merupakan salah satu mesin game paling populer. Ini memungkinkan Anda membuat game untuk banyak platform, termasuk Mac, Windows, iOS, dan Android.

Bagaimana dengan aplikasi desktop?

Anda dapat membuatnya dengan Python menggunakan Tkinter, tetapi ini juga bukan pilihan yang paling populer.

Sebaliknya, sepertinya bahasa seperti Java, C #, dan C ++ lebih populer untuk ini.

Baru-baru ini, beberapa perusahaan juga mulai menggunakan JavaScript untuk membuat aplikasi Desktop.

Misalnya, aplikasi desktop Slack dibuat dengan sesuatu yang disebut Electron. Ini memungkinkan Anda untuk membangun aplikasi desktop dengan JavaScript.

Secara pribadi, jika saya sedang membangun aplikasi desktop, saya akan menggunakan opsi JavaScript. Ini memungkinkan Anda untuk menggunakan kembali beberapa kode dari versi web jika Anda memilikinya.

Namun, saya juga bukan ahli dalam aplikasi desktop, jadi beri tahu saya melalui komentar jika Anda tidak setuju atau setuju dengan saya tentang hal ini.

Python 3 atau Python 2?

Saya akan merekomendasikan Python 3 karena lebih modern dan ini adalah opsi yang lebih populer saat ini.

Catatan kaki: Catatan tentang kode back-end vs kode front-end (kalau-kalau Anda tidak terbiasa dengan istilah-istilah tersebut):

Katakanlah Anda ingin membuat sesuatu seperti Instagram.

Kemudian, Anda perlu membuat kode front-end untuk setiap jenis perangkat yang ingin Anda dukung.

Anda bisa menggunakan, misalnya:

  • Swift untuk iOS
  • Java untuk Android
  • JavaScript untuk browser web

Setiap rangkaian kode akan berjalan di setiap jenis perangkat / browser. Ini akan menjadi sekumpulan kode yang menentukan seperti apa tata letak aplikasi, seperti apa tampilan tombol saat Anda mengkliknya, dll.

Namun, Anda masih memerlukan kemampuan untuk menyimpan info dan foto pengguna. Anda akan ingin menyimpannya di server Anda dan tidak hanya di perangkat pengguna Anda sehingga setiap pengikut pengguna dapat melihat fotonya.

Di sinilah kode backend / kode sisi server masuk. Anda harus menulis beberapa kode backend untuk melakukan hal-hal seperti:

  • Pantau siapa yang mengikuti siapa
  • Kompres foto sehingga tidak memakan banyak ruang penyimpanan
  • Rekomendasikan foto dan akun baru untuk setiap pengguna di fitur penemuan

Jadi, inilah perbedaan antara kode backend dan kode front-end.

Ngomong-ngomong, Python bukan satu-satunya pilihan yang baik untuk menulis kode backend / server-side. Ada banyak pilihan populer lainnya, termasuk Node.js, yang didasarkan pada JavaScript.

Suka artikel ini? Kemudian, Anda mungkin juga menyukai saluran YouTube saya.

Saya memiliki saluran YouTube pendidikan pemrograman bernama CS Dojo dengan 440.000+ pelanggan, di mana saya menghasilkan lebih banyak konten seperti artikel ini.

Misalnya, Anda mungkin menyukai video ini:

Bagaimanapun, terima kasih banyak telah membaca artikel saya!