[PyACC 6] Giới thiệu về ngôn ngữ Python

Giới thiệu Python

Python được sáng tạo bởi Guido van Rossum vào những năm cuối thập niên 80, đầu thập niên 90 tại Viện nghiên cứu Quốc gia về Toán học và Khoa học máy tính ở Hà Lan.

  • Python là một ngôn ngữ bậc cao, thông dịch, ngôn ngữ kịch bản tương tác và hướng đối tượng.
  • Python được thiết kế để lập trình viên có thể đọc hiểu dễ dàng nhất.
  • Python thưởng sử dụng các từ khóa tiếng anh trong khi các ngôn ngữ khác thường sử dụng các dấu câu. Cấu trức cú pháp của nó cũng dễ dàng hơn sơ với các ngôn ngữ khác.
  • Python rất dễ học bởi vì tài liệu liên quan có thể tìm thấy ở bất cứ đâu.

Ứng dụng của Python

Dưới đây là top các ứng dụng phổ biến của Python:

Phát triển ứng dụng Web & hệ thống backend

Python có nhiều framework để xây dựng ứng dụng web, có thể kể đến: Pyramid, Django và Flask.
Ngoài ra nó còn được sử dụng rộng rãi để phát triển hạ tầng backend. Dưới đây là một danh sách những công ty đang sử dụng Stack công nghệ của họ:

  • Dropbox.
  • Netflix.
  • Spotify.
  • Instagram.
  • Facebook.
  • Google.
  • Paypal.
  • Uber.
  • Udemy.
Stack công nghệ được định nghĩa là tập hợp các công nghệ (ngôn ngữ lập trình, công cụ) mà một tổ chức sử dụng để xây dựng sản phẩm của họ - sản phẩm đó có thể là ứng dụng web hoặc ứng dụng trên thiết bị di động...

Nghiên cứu dữ liệu

Python có một cộng đồng đông đảo những nhà nghiên cứu và rất nhiều thư viện để phục vụ việc nghiên cứu dữ liệu, ví dụ như pandas, tensorflow, numpy, matplotlib, graph-tool, seaborn... Mặt khác đặc thù việc nghiên cứu dữ liệu phải sử dụng nhiều loại database khác nhau, những loại database này hầu hết đều có thư viện hỗ trợ Python. Mà tâm lý chung của người học là học ít mà dùng được nhiều. Học sao cho học một lần mà có thể dùng nó cho nhiều tình huống. Điều này vô hình chung khiến Python càng thêm phổ biến.

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

Trí tuệ nhân tạo hay học máy đều phải bắt nguồn từ việc xử lý dữ liệu - đây vốn dĩ là thế mạnh của Python. Mặt khác xây dựng ra các mô hình học máy hay AI phải tốn rất nhiều thời gian.
Một dự án AI và ML nói chung là rất phức tạp, bạn không có nhiều cái 3 năm, 5 năm hay 10 năm để hoàn thành dự án. Vì thếđể giảm thời gian phát triển dự án, các lập trình viên chuyển sang sử dụng thư viện và framework.

Một Framework / Thư viện có thể được hiểu và các code được viết sẵn mà các lập trình viên có thể sử dụng ngay để giải quyết các tác vụ lập trình phổ biến. Quan điểm là "KHÔNG PHÁT MINH LẠI BÁNH XE".

Python có một lượng lớn các thư viện nhằm giúp việc lập trình trở nên dễ dàng và tiết kiệm thời gian đáng kể. keras, scikit-learn, tensorflow, pandas, numpy là những thư viện phổ biến nhất.

Python đang là ứng dụng đang đóng vai trò một loại ngôn ngữ lập trình phổ biến nhất trong ngành khoa học dữ liệu và nó đang dần nuốt chửng thị phần của các ngôn ngữ khác.

Ứng dụng doanh nghiệp

Các ứng dụng doanh nghiệp được sử dụng để phục vụ nhu cầu của một tổ chức, công ty, doanh nghiệp, ví dụ: CRM, ERP, Recruitment management, Workflow, Task time tracking...  

Đặc thù của những ứng dụng kiểu này yêu cầu khả năng tích hợp, có thể làm việc với nhiều loại database với tốc độ xử lý cao. Python là một ngôn ngữ được hỗ trợ có thể xử lý nhiều yêu cầu của cơ sở dữ liệu cùng một lúc, đồng thời nó sinh ra để giúp con người dễ dàng tự động hóa các tác vụ. Điều này dễ lý giải vì sao nó xuất hiện trong các ứng dụng doanh nghiệp.

Tryton và Odoo là những framework giúp phát triển các ứng dụng doanh nghiệp như vậy.

Thu thập dữ liệu

Python có rất nhiều thư viện để phục vụ thu thập dữ liệu như requests, BeautifulSoup, MechanicalSoup, Selenium, lxml, v.v. Các thư viện này rất phù hợp cho việc tìm kiếm trên web và tự động hóa tương tác, bóc tách dữ liệu từ html...

Tự động hóa các tác vụ

Nếu bạn đã từng dành hàng giờ để đổi tên tệp hoặc cập nhật hàng trăm ô bảng tính Excell, bạn sẽ hiểu những công việc như thế này có thể mất thời gian như thế nào. Lúc ấy bạn có thể đang nguyền rủa sếp mình vì sao lại bắt mình làm những việc điên khùng "Sắp về rồi còn giao cái mẹ gì nữa?".
Nhưng những sự khổ hạnh đó sẽ kết thúc khi bạn biết đến Python. Chỉ cần 1 vài dòng code. Có một cuốn sách rất hay giúp bạn có thêm những hiểu biết về phần này, bạn nên tham khảo thêm về nó để trở nên pro hơn trong mắt sếp.

Book: Automate the boring stuff with python

Phát triển Game

Chúng ta đã từng nghe hoặc ít nhất từng chơi một trong những trò chơi phổ biến kinh điển này: Snake (con rắn), Flappy bird, Pac man, Tetris hoặc các trò chơi dân gian như cờ vua, Cờ Ca rô, Oẳn tù tì … Nhưng bạn có biết những trò chơi này được viết bằng Python không? Con bạn có thể trở thành lập trình viên trò chơi trong tương lai? Hoàn toàn có thể! Thậm chí họ có thể tạo ra nhiều trò chơi mới mà bạn chưa từng nghe thấy trong 20 năm tới.

Một số framework Python hàng đầu được sử dụng trong phát triển trò chơi bao gồm Pygame, PyKyra, Pyglet, PyOpenGL, Kivy, Panda3D, Cocos2D, v.v.!

https://www.reddit.com/r/Python/comments/moe9sw/i_made_a_shootemup_in_one_week_with_python_and/

Giao diện GUI

Một trong những ứng dụng quan trọng của Python đó là phát triển ứng dụng giao diện đồ họa cho máy tính để bàn, laptop. Có rất nhiều thư viện nổi tiếng hỗ trợ bạn làm việc này: Tkinter, Kivy, wxPython, PyQt, PySide2...

Python Interface - PySide2/PyQt5(optional) (MODERN / FLAT GUI). https://github.com/Wanderson-Magalhaes/Simple_PySide_Base

Ngôn ngữ lập trình trong các trường học phổ thông

Python là ngôn ngữ rất dễ học, cú pháp và từ khóa gần gũi với từ ngữ Tiếng Anh. Điều này có nghĩa là bạn chỉ cần biết chút tiếng Anh cơ bản là cũng có thể giúp bạn tiếp cận dễ dàng với nó.

Cộng thêm với vô vàn ứng dụng trong thực tế ở phía trên, khiến cho Python trở thành một trong những lựa chọn tối ưu nhất để đưa vào giảng dạy trong môi trường phổ thông và các cấp cao hơn.