Python có thể làm được những gì?

Python là một ngôn ngữ lập trình mạnh mẽ và đa năng, phù hợp cho nhiều mục đích khác nhau. Với khả năng đơn giản và cú pháp dễ đọc, nó là lựa chọn tốt cho việc lập trìnhtự động hóa. Sau đây mình sẽ giới thiệu một số ứng dụng của Python, những thứ mà bạn có thể làm được nếu học Python !

Phát triển ứng dụng web

Python cho phép bạn xây dựng các ứng dụng web mạnh mẽ thông qua các framework như DjangoFlask. Điều này giúp việc phát triển các trang web phức tạp trở nên dễ dàng hơn.

Để làm một website từ Python thì cũng tương đối đơn giản, phần code cho website chỉ vài dòng nếu bạn dùng Flask. Tuy nhiên phần setup server sẽ không được tiện như PHP. PHP thì bạn có thể cài LEMP Stack hoặc LAMP Stack. (L=Linux, E=Nginx, M=MySQL, P=PHP, A=Apache). Có kha khá các Script hỗ trợ, bạn chỉ việc cài cái script đấy vào và setup đơn giản là có web rồi. Ví dụ EasyEngine tối ưu cho web WordPress, Webinoly cho web PHP nói chung và có cả WordPress, VPSSIM (khá cũ rồi), HocScript (có nghe nói nhưng chưa dùng).

Để làm một ứng dụng web thì bạn sẽ cần hiểu một số điều cơ bản trong Python, cách trả về kết quả, cũng như cách mà framework hoạt động. Ví dụ trang ByteWise.One của mình viết trên nền tảng PHP, nhưng phần các công cụ thì lại viết trên nền Python cho tiện tạo chức năng. Vào một ngày đẹp trời nào đó mình sẽ làm video chia sẻ cách setup cũng như code một số tool trên web đơn giản, chắc thế.

Xử lý dữ liệu và phân tích

Python là sự lựa chọn hàng đầu cho việc làm việc với dữ liệu. Các thư viện như NumPy, PandasMatplotlib cho phép bạn làm việc với dữ liệu số học, phân tích dữ liệu và vẽ đồ thị một cách hiệu quả.

Mục đích của phân tích dữ liệu “gói gọn” trong một số mục sau:

  • Hiểu về khách hàng và thị trường
  • Ra quyết định thông minh
  • Dự đoán và dự báo
  • Tối ưu hóa quy trình
  • Nghiên cứu khoa học
  • Điều tra và giám sát

Xử lý một tệp dữ liệu lớn không phải là việc đơn giản với Excel, hay Google Sheets. Ví dụ file bảng tính của bạn có kích cỡ tầm 1MB, ổn, 5MB, xử lý tốt, 20MB, nghe không ổn lắm, 100MB, ờm, không chắc có chạy được không. 1000MB ~ 1GB, nghe là củ chắc Google Sheets ko load nổi, Excel chắc cũng quỳ.

Vậy với các tệp dữ liệu to như vậy, bạn muốn xử lý thì phải dùng công cụ gì? Làm như thế nào?

Rất may là bạn có thể hoàn toàn xử lý một cách rất đơn giản với Python và những công cụ đi kèm: Numpy, Pandas, và đồ thị hóa, xem hình hài hình dạng của dữ liệu nó như thế nào, thì có Matplotlib, một công cụ khá lâu đời, hoặc các công cụ mới hơn như Plotly, Seaborn…

Một ví dụ với Plotly tạo chart với dữ liệu:

Trí tuệ nhân tạo và học máy

Python là ngôn ngữ chính được sử dụng trong lĩnh vực trí tuệ nhân tạo và học máy. Các thư viện như TensorFlowPyTorch giúp bạn xây dựng và huấn luyện các mô hình học máy và mạng nơ-ron.

Là một ngôn ngữ có cách viết rất đơn giản, dễ hiểu, cấu trúc câu lệnh gần như là đọc tiếng Anh dạng cơ bản, không khó hiểu khi Python càng ngày càng trở nên phổ biến và được các chuyên gia về Machine Learning sử dụng để có thể đào tạo các mô hình máy học.

Hầu hết các thư viện, tool liên quan tới máy học mà bạn có thể tìm thấy trên mạng, đều được viết bằng Python. Một điều bạn có thể thắc mắc là, Python nó có tốc độ xử lý chậm so với các ngôn ngữ khác như C, C++, C#, nhưng tại sao nó vẫn được dùng cho machine learning, một tác vụ rất nặng và tiêu tốn tài nguyên? Đơn giản vì mấy thư viện Python xử lý dữ liệu, đều được code bằng C hoặc C++ đã được tối ưu hiệu suất. Python chỉ là một lớp chỉ dẫn, sử dụng các thư viện đó thôi, nó không trực tiếp xử lý dữ liệu. Hay nôm na bạn là Vua, bạn không phải làm chiến binh giỏi nhất, bạn là nhà lãnh đạo, bạn chỉ cần chỉ cho đám chiến binh mạnh đi chinh chiến thôi, việc đập nhau thế nào thì để tụi nó lo.

Một vài ứng dụng mà bạn có thể vọc vạch với Machine Learning ngay tại máy của bạn – PC hoặc Laptop đều ok, không cần cấu hình máy khủng để đào tạo, bạn chỉ cần sử dụng sản phẩm của mấy người khổng lồ để lại thôi (hầu hết mấy cái pretrained model đều có thể tìm được ở HuggingFace)

HuggingFace là một kho các mô hình đã được đào tạo, dataset,… Bạn có thể vào, tải về và sử dụng. Lấy một ví dụ đơn giản, bạn có thể dùng Model Text to Speech để tạo tiếng từ chữ (có vài mô hình khá thú vị, đó là Mio/Amadeus và Mio/Artoria, giọng giống hệt mấy nhân vật trong anime: Amadeus – Steins;Gates, và Artoria – Fate Series). Việc chạy các mô hình này tại máy của bạn cũng ko khó, tải mô hình về, cài mấy cái thư viện Python, thế là xong. Hoặc bạn có thể thử online luôn, giọng Artoria: https://huggingface.co/mio/Artoria. Nhớ nhập tiếng Nhật, dùng Google Translate hoặc ChatGPT để copy phiên bản tiếng Nhật, thì nó mới nói đúng và trôi chảy, tiếng Anh vẫn nói được nhưng trúc trắc và ko đúng lắm.

GPT4All -> chatbot free kiểu ChatGPT bạn có thể chạy offline ở máy: Bạn có thể xem source code ở đây. Hoặc tải về dùng luôn ở đây

TextToSpeech -> tạo giọng từ chữ

TextToImage -> tạo ảnh từ chữ, có mấy thứ khá nổi là MidJourney (có phí), DALL-E (có phí), StableDiffusion (cài trong máy thì ko cần phí).

Thậm chí tạo Video từ text cũng có, bạn có thể túc tắc tìm hiểu nhé. Nhiều ứng dụng thú vị lắm!

Tự động hóa công việc

Hèm, mục này vui nè. Nếu bạn đã thấy quá nhàm chán với các việc lặp đi lặp lại hàng ngày, một cách máy móc cứng nhắc. Thì tự động hóa là một thứ cứu rỗi linh hồn =)))))

Một số ví dụ nè:

1, Bạn muốn check xem một trang truyện đã có cập nhật chương mới hay chưa, mà ko muốn cứ 5p 10p lại vào tải lại để check. Thì, dùng Python cho một chương trình chạy định kỳ vài phút chẳng hạn, check website, nếu có nội dung mới, báo lại cho bạn vào email hoặc telegram, hoặc mở popup trên máy tính, hoặc bật nhạc thông báo chẳng hạn.

2, Bạn muốn tự động trích xuất tất cả các ảnh trong một file DOCS, PPTX. Nếu chỉ 1 file thì cũng không khó, cứ click Save Image bằng tay, nhưng nếu số lượng file rất nhiều thì sao? Code thôi =)))))

3, Tương tự, bạn muốn nén ảnh, thay đổi kích cỡ nếu ảnh quá to (làm nhỏ đi), thêm thông tin, thêm chữ trong ảnh, thêm logo ở vị trí thích hợp, với số lượng lớn bức ảnh, thì Code chạy tự động thôi

4, Bạn có thể tự động hóa việc trả lời email, kết hợp Machine Learning để viết mail đáp trả cực xịn cũng ok

5, Bạn có thể theo dõi giá cổ phiếu, báo lại khi nó chạm một ngưỡng nào đó, hoặc chạm mốc phân tích kỹ thuật nào đó (thỏa mãn điều kiện BB, MACD hay cái gì đó tương tự thế)

6, Tạo video từ các bức ảnh, ném mớ ảnh vào 1 thư mục, chạy file Python, bùm, done, có video

Ứng dụng desktop

Bạn có thể tạo các ứng dụng desktop đơn giản bằng cách sử dụng thư viện như Tkinter hoặc PyQt. Điều này giúp bạn tạo giao diện đồ họa cho các ứng dụng của mình.

Một trong vài ứng dụng mình có làm, đó là hỗ trợ việc học tiếng anh, theo dõi các từ đã học, tỉ lệ trả lời đúng các câu hỏi, hỗ trợ học phát âm … Có dùng Tkinter để tạo giao diện đơn giản, SQLite3 để lưu trữ dữ liệu học.

Cơ bản là làm ứng dụng desktop ko phải mảng mạnh của Python, tốn kha khá sức để tạo cái khung, nút, input… Dù có phần mềm hỗ trợ nhưng ko thể được như C# Winform, hay VB.NET. Nên mình chủ yếu dùng dạng terminal command line thôi.

Game và đồ họa

Mặc dù không phải là lựa chọn chính thống cho việc phát triển game và đồ họa, nhưng Python vẫn có các thư viện như Pygame cho việc tạo game đơn giản và Matplotlib để vẽ đồ thị và biểu đồ.

Có một con game là FlappyBird được viết lại bằng Python, bạn có thể tham khảo: https://github.com/sourabhv/FlapPyBird

Tạo script hệ thống

Python thích hợp cho việc viết các script hệ thống để thực hiện các tác vụ quản lý và điều khiển hệ thống.

Ví dụ:

  • Sao lưu dữ liệu định kỳ
  • Đổi tên tệp / thư mục hàng loạt
  • Tự động hóa việc cài đặt phần mềm / cập nhật phần mềm

Công cụ dòng lệnh

Python có thể được sử dụng như một công cụ dòng lệnh để thực hiện các tác vụ như xử lý và biến đổi văn bản, quản lý tệp tin, và nhiều tác vụ khác trên hệ thống

Một số công cụ dòng lệnh phổ biến được viết bằng python:

youtube-dl: Công cụ tải xuống video và âm thanh từ các trang chia sẻ video trực tuyến như YouTube bằng cách cung cấp URL.

httpie: Công cụ thay thế cho curl, giúp bạn gửi các yêu cầu HTTP từ dòng lệnh và nhận phản hồi dễ đọc hơn.

streamlink: Công cụ tương tự youtube-dl, nhưng tập trung vào việc xem video trực tiếp từ các trang web phát trực tuyến.

tiktok-scraper: Công cụ giúp bạn tải xuống video từ TikTok bằng cách cung cấp liên kết đến video cụ thể.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *