3 ứng dụng phổ biến của Python
Nếu bạn đang tìm kiếm một ngôn ngữ lập trình để học hoặc mới bắt đầu tìm hiểu về Python, thì có lẽ đây là câu hỏi thường xuyên hiện lên trong đầu của bạn "Chính xác thì, tôi có thể dùng Python cho việc gì nhỉ?". Bài viết dưới đây sẽ giúp bạn tìm ra đáp án cho câu trả lời đó, bởi vì có rất nhiều ứng dụng dành cho Python.
Ngôn ngữ Python được dùng trong vô số những lĩnh vực khác nhau, mà phổ biến nhất thì hẳn là 3 lĩnh vực sau:
Web Development
Data Science: Machine Learning, Data Analysis và Data Visualization
Scripting
1. Web Development
Django và Flask là hai web framework tiêu biểu cho việc ứng dụng Python. Những framework này hỗ trợ cho bạn rất nhiều trong việc tạo server-side code (back-end code) bằng Python. Khác với những đoạn code chạy trên thiết bị của người dùng và trình duyệt (front-end code), đoạn code này sẽ chạy trên web server của bạn.
Tại sao chúng ta cần web framework? Bởi vì web framework giúp bạn xây dựng back-end logic một cách dễ dàng hơn. Việc này bao gồm cả kết nối các URL khác nhau vào các đoạn code Python, xử lý các cơ sở dữ liệu và tạo các file HTML mà người dùng nhìn thấy trên trình duyệt của họ.
Chúng ta nên sử dụng web framework nào? Django và Flask là hai trong số những framework phổ biến nhất hiện nay và các framework này cũng được khuyên dùng cho các bạn mới bắt đầu tìm hiểu làm quen với web framework.
Có gì khác biệt giữa Django và Flask? Flask mang lại một sự tối giản tuyệt đối với độ linh hoạt cao, bên cạnh đó mọi chi tiết trong cấu trúc chương trình đều do bạn nắm quyền kiểm soát. Tuy nhiên, nhược điểm của Flask là nó sẽ không đưa ra bất kỳ đề xuất nào, tức là bạn phải tự quyết định và xây dựng tất cả mọi thứ cho dự án của bạn. Về Django, framework này cung cấp một trải nghiệm toàn diện hơn cho dự án của bạn: có thanh điều khiển cho admin, giao diện database, ORM và xây dựng cấu trúc thư mục cho các ứng dụng và dự án của bạn. Vì vậy, hãy chọn Flask nếu bạn là beginner đang tìm kiếm cơ hội trải nghiệm và học tập; và hãy chọn Django nếu bạn chú trọng vào chất lượng của sản phẩm, đặc biệt là đối với trang web tin tức, cửa hàng online và blog.
2. Data Science (machine learning, data analysis và data visualization)
Machine learning
Để giải thích machine learning là gì, chúng ta sẽ sử dụng ví dụ như sau: giả sử bạn muốn phát triển một phần mềm có thể nhận diện những gì có trong một tấm hình, như trong bức ảnh dưới đây là một chú chó.
Ví dụ tiếp theo là một cái bàn:
Có lẽ bạn đang nghĩ rằng chúng ta sẽ dùng một đoạn code để thực hiện điều này. Ví dụ như khi bức hình có nhiều pixel màu nâu thì chúng ta có thể nói đó là một con chó. Hoặc có thể, bạn sẽ tìm ra cách phát hiện ra các cạnh trong bức ảnh thứ hai, sau đó nếu vật có nhiều cạnh thẳng thì đó là một cái bàn. Tuy nhiên, cách tiếp cận này sẽ thất bại ngay khi trong hình là một con chó màu trắng hay mặt của chiếc bàn hình tròn.
Đó là lý do tại sao chúng ta cần có Machine Learning. Machine Learning sẽ thực thi một thuật toán mà qua đó có thể tự động tìm ra một hình mẫu phù hợp với input. Chúng ta sẽ nhập vào và “dạy” cho thuật toán của Machine Learning hình ảnh của 1000 con chó và 1000 chiếc bàn. Và sau đó, nó sẽ tự học được cách phân biệt giữa con chó và cái bàn trong những bức ảnh hoàn toàn mới, tương tự như cách một đứa trẻ đang học hỏi những điều mới lạ.
Vậy làm sao một đứa trẻ biết được đó là con chó hay là cái bàn? Tất nhiên chúng ta không thể nói một cách quá rõ ràng rằng là “Nếu con gì có bộ lông màu nâu nhạt thì đó có thể là một con chó” mà chỉ cần nói “Đó là con chó. Đây cũng là con chó. Đó là cái bàn. Đây cũng là cái bàn”. Và các thuật toán Machine learning cũng hoạt động giống như vậy.
Các thuật toán Machine Learning thường được ứng dụng vào: hệ thống đề xuất nội dung phù hợp cho người dùng (như Youtube, Amazon và Netflix), nhận diện khuôn mặt, nhận diện giọng nói. Và đây là một vài thuật toán Machine Learning phổ biến mà có thể bạn đã từng nghe qua: Neural Network, Deep Learning, Support Vector Machine, Random Forest
Có rất nhiều thư viện và các framework machine learning cho Python, hai trong số đó là scikit-learn và TensorFlow. Trong khi scikit-learn cung cấp cho bạn các thuật toán machine learning dựng sẵn phổ biến thì TensorFlow là một thư viện ở cấp thấp hơn và bạn có thể tự xây dựng thuật toán machine learning. Nếu bạn mới làm quen thì nên chọn scikit-learn, còn nếu bạn muốn hiệu quả hơn thì hãy tìm đến TensorFlow.
Data analysis (phân tích dữ liệu) và data visualization (trực quan hóa dữ liệu)
Giả sử bạn đang làm cho một công ty kinh doanh online. Với vai trò là một chuyên viên phân tích dữ liệu, bạn có thể vẽ một biểu đồ cột như sau:
Từ biểu đồ này, chúng ta có thể thấy được rằng nam giới mua hơn 400 sản phẩm và nữ giới mua khoảng 350 sản phẩm trong một ngày Chủ Nhật. Với vai trò là một chuyên viên phân tích dữ liệu, bạn có thể kết luận là sản phẩm này được dùng phổ biến cho nam giới hơn là nữ giới. Một trường hợp khác khác, là do kích thước mẫu (số lượng người được thống kê) quá nhỏ nên sự khác biệt này có thể là ngẫu nhiên. Và thêm một trường hợp khác đó là sự khác biệt này chỉ xảy ra vào đúng Chủ nhật.
Và để biết đâu là kết luận chính xác, bạn cần vẽ thêm một đồ thị nữa như sau:
Thay vì chỉ hiển thị dữ liệu cho Chủ nhật, chúng ta xem xét dữ liệu của cả tuần. Từ biểu đồ này, chúng ta có thể thấy rằng sự khác biệt này khá nhất quán. Và từ phân tích nhỏ này, bạn có thể kết luận rằng sản phẩm này phổ biến với nam giới hơn nữ giới.
Nhưng hãy nhìn vào đồ thị được tạo ra bằng Python dưới đây xem:
Bạn đã nhìn thấy sự khác biệt vào ngày chủ nhật rồi đúng không? Có thể vì lý do nào đó nam giới có xu hướng mua sản phẩm này nhiều hơn vào Chủ nhật. Cũng có thể đó chỉ là một sự trùng hợp ngẫu nhiên.
3. Scripting
Scripting thường được dùng để chỉ các chương trình nhỏ được thiết kế để tự động hóa các tác vụ đơn giản. Bạn hãy đọc ví dụ sau đây để dễ hình dung về việc ứng dụng Python trong scripting. Một doanh nghiệp nhỏ đang có nhu cầu tạo ra một hệ thống hỗ trợ và phản hồi các câu hỏi của khách hàng qua email. Để làm được việc này, một nhân viên phải thực hiện nhiệm vụ đếm số lượng email chứa một vài từ khóa nhất định để làm cơ sở dữ liệu cho việc phân tích nội dung email. Thay vì phải thực hiện theo cách thủ công như vậy, chúng ta có thể viết một chương trình đơn giản để tự động hóa tác vụ này. Python sẽ được áp dụng trong trường hợp này để viết ra một chương trình giúp thực hiện công việc này một cách đơn giản và nhanh chóng.
Theo tác giả: YK Sugi
Dịch bởi: Devera Academy