6 minute read

Chào mừng mọi người đến với bài post đầu tiên của phần “Lượn lờ cùng Python” của series “Khám phá Đại Bản Doanh Python

Lượn lờ mang nghĩa như cưỡi ngựa xem hoa vậy đó. Với mình thì học gì đó không phải cứ nhảy vô code liền, mà mình muốn tìm hiểu cái ngữ cảnh gắn với thứ mình học một xíu, ví dụ như cái mình học có thể dùng để làm gì, học Python thì tìm việc ở những vị trí nào, hay những ai đã thành công cùng nó rồi, hay với một người mới hoàn toàn thì mình nên bắt đầu từ đâu, …

Các câu hỏi mang tính chất định hướng như vậy mình thấy là rất quan trọng, vì thực tế con đường học hành với ngành lập trình không hề dễ dàng. Nếu bạn có càng nhiều câu hỏi định hướng và tìm hiểu kỹ hướng đi cho mình thì dù trên con đường ấy có nhiều chông gai nhưng hướng đi bạn đã xác định được rồi thì những cái gai đó cũng khó mà làm bạn lạc đường được.

Trong phần này, tụi mình sẽ cùng nhau dạo quanh quanh những phần ngoài lề trước khi tấn công vào các kiến thức Python cơ bản và nâng cao ở phần tiếp theo.

Mình sẽ đi tìm hiểu những câu hỏi sau trong “Lượn lờ cùng Python”:

Những nội dung trong bài series này từ “Đại bản doanh Pythonpython.org, mình viết bằng ngôn ngữ của mình kèm theo những tài liệu khác mà mình thấy liên quan và hữu ích cho chủ đề của bài.

Bài dưới đây sẽ đi trả lời câu hỏi “Python có thể dùng để làm gì?”


Học Python đang là xu hướng của thế giới, Python được các ông trùm như Instagram, Netflix, Reddit, Lyft, Google, Spotify, New York Times và Bloomberg sử dụng.

Vậy nó có thể làm được gì mà người ta dùng nhiều quá vậy?

Python được ứng dụng rất rộng rãi, ở đây mình cùng tìm hiểu về 5 nhóm chính nơi Python được sử dụng phổ biến nhất:

Phát triển Web và Internet(Web and Internet development)

Khoa học và số học(Scientific and Numeric)

Giảng dạy lập trình(Education)

Các giao diện người dùng Desktop(GUI Desktop)

Phát triển phần mềm(Software Development)

Năm lĩnh vực Python được ứng dụng phổ biến nhất

Phát triển Web và Internet

Có lẽ Python phát triển nhất trong lĩnh vực này, với nhiều sự lựa chọn như:

→ Các frameworks phổ biến nhất là DjangoPyramid.

→ Các micro-frameworks là FlaskBottle.

→ Và các CMS(hệ thống quản trị nội dung) như Plone, django CMS

→ Thư viện Python còn hỗ trợ nhiều giao thức internet như là: HTML và XML, JSON, E-mail processing, rồi còn support FTP, IMAP, các internet protocols … và cũng dễ dùng socket interface nữa.

→ Python có thư viện PyPI với nhiều thư viện hỗ trợ lập trình web được dùng phổ biến như Requests, BeautifulSoup, Feedparser, Paramiko, Twisted Python.

Khoa học và Số học

Python cũng được sử dụng rộng rãi trong khoa học và số học:

SciPy là bộ sưu tập các gói dành cho toán học, khoa học, kỹ thuật

Pandas là thư viện phân tích dữ liệu và mô phỏng

IPython mà một trình shell mạnh mẽ có tính năng chỉnh sửa và ghi lại phiên làm việc một cách dễ dàng ngoài ra còn hỗ trợ trực quan và tính toán song song.

→ Tổ chức The Software Carpentry Course, nơi dạy những kỹ năng cơ bản trong khoa học máy tính, cung cấp nhiều tài liệu học miễn phí và có cộng đồng mạnh.

Giảng dạy lập trình

Python là một ngôn ngữ tuyệt vời trong giảng dạy lập trình ở nhiều cấp độ từ cơ bản đến nâng cao.

Nhiều cuốn sách giảng dạy lập trình được viết với ngôn ngữ Python như là:

How to Think Like a Computer Scientist

Python Programming: An Introduction to Computer Science

Practical Programming

Nhóm “Education Special Interest Group” là nơi thảo luận giành cho công tác giảng dạy về Python

Giao diện desktop

Tkinter là thư viện dùng để viết GUI desktop được xây dựng bằng Python. Nếu bạn có hứng thú với side project build Desktop GUI với Tkinter có thể check qua Tkinter và video tutorial ở đây.

→ Ngoài ra còn có các gói GUI toolkit khác sử dụng trên nhiều nền tảng như wxWidgets, Kvy, Qt thông qua pyqt, pyside, GTK+, win32 extensions.

Phát triển phần mềm

Các nhà phát triển thường dùng Python để quản lý, kiểm thử, thử nghiệm, và xây dựng phần mềm

Scons là một công cụ xây dựng phần mềm

BuildbotApache Gum dùng trong tự động biên dịch và kiểm thử

ERP Roundup hay Trac cho kiểm soát lỗi và quản lý dự án

Xây dựng ứng dụng thương mại

Python cũng được sử dụng trong xây dựng ERP(Enterprise Resource Planning Software) và các hệ thống thương mại điện tử, như là:

Odoo là phần mềm quản lý công ty nơi quản lý hàng loạt các ứng dụng kinh doanh cùng một chỗ tạo thành bộ ứng dựng quản lý doanh nghiệp hoàn chỉnh.

Tryton là mô hình 3 lớp(Presentation, Business, Data) dành cho các nền tảng ứng dụng chung.

Ba ứng dụng chính của Python

Đây là một video giới thiệu về những thứ Python có thể làm cũng rất là hay ho và dễ hiểu từ kênh CS Dojo – một developer của Google

Trong video trên giới thiệu Python áp dụng trong 3 lĩnh vực chính là:

→ Web Development: Web Framework(Django, Flask)

→ Data Science, Data analysis/visualization

  • Machine Learning với scikit-learn, TensorFlow

  • Data analysis và visualization với matplolib

→ Scripting

Ngoài ra, những ứng dụng khác như Game Development(PyGame), Desktop applications(Tkinter, QT), Embedded applications(Raspberry Pi)

Các vị trí công việc dành cho người học Python

Nếu bạn học Python, thì có khá nhiều công việc dành cho bạn, hãy tham khảo một số vị trí cùng với các nhiệm vụ chính của từng loại công việc ấy nhé.

Python developer

→ Xây dựng trang web → Tối ưu hóa thuật toán, data → Giải quyết các vấn đề về phân tích dữ liệu → Thực hiện bảo mật và bảo vệ dữ liệu → Viết mã đơn giản, tái sử dụng được, hiệu quả hơn

Product Manager

Với người quản lý dự án, data đóng vai trò vô cùng quan trọng trong việc phân tích dữ liệu từ thị trường cũng như từ người dùng để lên kế hoạch xây dựng các sản phẩm tương ứng với nhu cầu. Khi tiến hành phân tích dữ liệu thì Python là một kỹ năng quan trọng.

Data Analyst

Data Analyst là người sẽ làm việc với khối lượng thông tin khổng lồ, nhiều công ty sẽ tìm kiếm những người có khả năng sàng lọc lượng lớn thông tin, với sự hỗ trợ của các thư viện Python như SciPy hay Pandas

Giáo viên dạy khoa học máy tính

Học Python còn phù hợp cho những công việc như dạy Python, dạy các kiến thức trong lĩnh vực khoa học máy tính.

Trong chương này, mình đã cùng tìm hiểu những lĩnh vực ứng dụng của Python cũng như các vị trí công việc khi mình học Python. Khi chọn mỗi vị trí công việc khác nhau thì sẽ học chuyên sâu hơn về kiến thức cũng như phần mềm sử dụng trong lĩnh vực đó.

Như mình, hiện mình đang làm việc ở vị trí là Python Developer, cụ thể hơn là mình đang làm bên Backend, sử dụng Python, Django để xây dựng API cho ứng dụng web.

Ở bài viết sau, là câu hỏi tiếp theo “Ai đã thành công cùng Python?