Lộ trình trở thành lập trình viên Python
Dành cho người mới

Danh sách bài học
Lộ trình trở thành lập trình viên Python
Nội dung bài viết Học nhanh
Giới thiệu
Ngôn ngữ Python có vẻ đang hot trong cộng đồng lập trình Việt Nam những năm gần đây với những cú pháp linh hoạt và nhiều công cụ tiện ích. Nhiều người vẫn nghĩ Python là ngôn ngữ mới là sai, thật ra Python được phát triển từ năm 1985-1990, có nghĩa là tuổi đời Python còn lớn hơn cả Java - trong khi đó Java đã góp mặt ở Việt Nam từ những thế hệ lập trình viên 8x - đầu 9x, thì Python lại mới làm quen ở Việt Nam những năm gần đây.
Kteam sẽ đưa ra lộ trình trở thành lập trình viên Python theo nhiều lĩnh vực khác nhau. Tuy nhiên điểm xuất phát của các bạn là cần phải học về lập trình cơ bản và hướng đối tượng của Python. Kteam sẽ nói về lộ trình học chuyên sâu hơn.
Nội dung
Trong bài viết này, chúng ta sẽ bàn về những lộ trình sau của Python:
- Làm ứng dụng cho máy tính
- Trở thành Web Developer
- Lập trình nhúng/IOT
- Làm game
Làm ứng dụng cho máy tính
Đây là con đường cơ bản nhất trong lập trình viên, việc tạo những ứng dụng có giao diện đồ họa đã giúp con người tiếp cận với máy tính hơn bao giờ hết. Nói về tạo GUI trong Python, Kteam khuyến khích các bạn dùng 1 trong 2 thư viện là Tkinter và PyQT.
Đầu tiên là Tkinter, đây là thư viện được tích hợp sẵn trong Python 3, khi các bạn Cài đặt Python 3 đầy đủ thì có thể sử dụng ngay. Đây là thư viện được tạo ra ứng dụng nhanh và đơn giản, việc học không quá phức tạp. Vì vậy Tkinter ít khi sử dụng làm những ứng dụng quản lý lớn, hay được sử dụng làm giao diện cho các thiết bị điều khiển.
Còn về PyQT, đây không phải là thư viện mà là 1 Framework hỗ trợ khá đầy đủ. QT lúc đầu là của C++ để làm GUI, PyQT chính là QT được lập trình bằng Python. PyQT hỗ trợ khá đầy đủ, ngoài tạo ứng dụng thì có thể cho tự thiết kế hình dạng cửa sổ, có thư viện để kết nối cơ sở dữ liệu và có tool design.
Trở thành Web Developer
Python ở Việt Nam thường dùng cho lập trình back-end web. Có rất nhiều bạn muốn học Python theo con đường này nên Kteam sẽ nói rõ hơn!
Việc học web cần phải con đường vững chắc. Trước tiên bạn phải học Html, Css và Javascript - đây là 3 ngôn ngữ bắt buộc để làm web dù bạn có thích hay không. Khi nắm chắc cơ bản được 3 dạng này bạn có thể học Python Web - tất nhiên đây là con đường của Back-end Developer, còn các bạn muốn trở thành Front-end thì phải theo lộ trình của Javascript. Hoặc muốn trở thành Full-stack Developer thì phải theo luôn 2 lộ trình này.
Có rất nhiều Framework để lập trình Python web, thì có 2 cái phổ biến hiện này là Flask và Django.
Flask là microframework, là framework thực hiện từ những việc cơ bản nhất trở lên. Bạn sẽ phải quyết định project Web của bạn như thế nào, chia bố cục ra sao, theo mô hình gì... Đây sẽ framework khá hay cho những bạn không muốn ràng buộc quá nhiều về thư viện, tự sáng tạo cách của mình - tất nhiên bạn phải biết cách chọn hướng đi tốt nhất để giải quyết, không phải mình thích là mình làm.
Khá ngược Flask, Django là Framework lớn hỗ trợ cho ta nhiều hơn, nhưng đồng thời ràng buộc những gì ta thực hiện. Django khá "đóng" hơn, bắt chúng ta phải làm theo kiểu "cách Django", Django quyết định mô hình thiết kế (mô hình MVC), cung cấp database interface theo dạng ORM (nói đơn giản là định nghĩa table sang kiểu hướng đối tượng) nên việc tương tác database bằng ngôn ngữ Python (vừa là ưu điểm và nhược điểm), quy định cấu trúc đặt file trong project...
Django hỗ trợ cho ta đầy đủ, nên việc tạo các trang web lớn sẽ giúp ta thực hiện nhanh hơn nhiều. Tất nhiên việc tạo các trang Web là do năng lực các bạn - framework là công cụ hỗ trợ, không phải quyết định kết quả của bạn. Bạn có thể chọn Framework theo sở thích của bạn, nếu còn phân vân thì ta học cả 2 luôn là biết mình thích cái nào.
Sau khi học xong 2 framework này, các bạn cũng nên học về Restful Framework của mỗi cái đó. Vì sao ta phải học nó, khi chúng ta làm các web lớn sẽ có những trường hợp cần tương tác với giữa các trang web với nhau, vì web được tạo ra từ nhiều Framework khác nhau (Asp.net, Node.js, ...) nên cần phải có một chuẩn mực chung để các trang web tương tác với nhau có thể hiểu - Đó là là REST. Khi các bạn học đến đây thì sẽ hiểu tầm quan trọng vì sao cần Restful Framework
Lập trình nhúng/IOT
Python ứng dụng rất nhiều lĩnh vực và trong đó có lập trình nhúng, tuy hiện số lượng board có hỗ trợ ngôn ngữ Python cũng hạn chế. Kteam sẽ cố gắng giới thiệu một số thư viện để các bạn có thể học lập trình nhúng Python. Vì Kteam không phải dân gốc bên điện tử - nên chỉ xin phép giới thiệu qua (nếu bạn hiểu rõ hơn! hãy đóng góp ý kiến trong phần BÌNH LUẬN bên dưới để mọi người có thể cùng tham khảo!)
Đầu tiên là thư viện MicroPython, đây là thư viện mã nguồn mở giúp ta nhanh thao tác nhanh các thiết bị nhúng như là Pyboard, Esp8266...việc phát triển lập trình nhúng cho Python sẽ trở nên dễ dàng hơn cho những ai tay ngang muốn đi theo con đường này.
Tiếp theo là Zerynth, đây là Framework hỗ trở chính cho các dòng ESP8266, SAMD21, STM32... Zerynth hỗ trở khá đầy đủ như có tính năng cho đa tiến trình, có IDE chạy đa nền tảng hỗ trở nhiều tính năng như có bài viết hướng dẫn, clone github hay hình ảnh mô tả board đang lập trình...Ngoài ra Zerynth còn hỗ trợ clouds, app, api để phát triển một project chuyên nghiệp. Zerynth có hai bản là Free và Pro, các bạn có thể chọn phiên bản miễn phí để có thể sử dụng.
Ngoài các board Pyboard, Esp8266 thì Raspberry cũng có thư viện Python để giao tiếp. Raspberry là một máy tính nhúng nên bạn có thể cài hệ điều hành vào mạch này - thường là hệ điều hành Raspbian. Để dùng Python giao tiếp với Raspberry, ta sẽ dùng 2 thư viện GPIO Zero và RPi.GPIO.
Làm game
Làm game là sở thích của nhiều bạn, có thể nó nhiều bạn muốn theo con đường công nghệ thông tin cũng từ sở thích này. Chúng ra hãy cùng tìm hiểu những thư viện Python hỗ trợ làm game
Đầu tiên là Pygame (được xây dựng từ thư viện SDL) , đây là thư viện low-level bắt buộc các bạn phải xây dựng game từ những từ cơ bản nhất, việc học Pygame là ưu tiên để cho các bạn muốn làm game chuyên sâu từ Python. Pygame có hỗ trợ phát triển trên Android, nếu muốn phát triển trên IOS cần phải thêm thư viện Kivy của Python vào. Sau khi nghiên cứu Pygame, các bạn nên tìm hiểu PyOpenGL để phát triển game 3D.
Tiếp theo là Pyglet, là một framework chạy đa nền tảng lớn hỗ trợ cho multimedia, hỗ trợ khá mạnh để phát triển đồ họa 3D, hỗ trở phát video-âm thanh, xử lý bàn phím-chuột... Pyglet thường dùng phát triển các dạng game lớn, và là 1 trong những framework được lập trình viên Python yêu thích.
Kết luận
Như vậy, Kteam đã giói thiệu cho bạn những lộ trình để trở thành lập trình viên Python, hy vọng bài giới thiệu sẽ giúp cho các bạn có thể định hình được con đường cho bản thân.Chúc bạn có thể thành công với quyết định của mình.
Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.
Tải xuống
Tài liệu
Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Lộ trình trở thành lập trình viên Python dưới dạng file PDF trong link bên dưới.
Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com
Đừng quên like và share để ủng hộ Kteam và tác giả nhé!

Thảo luận
Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.
Tác giả/Dịch giả
Khóa học
Guide for beginners - Những chia sẻ kinh nghiệm dành cho người mới
Đánh giá
Lộ trình trở thành lập trình viên Python bài viết rất hay tuy nhiên cần chú ý hỗ trợ trả lời câu hỏi của thành viên bình luận hỏi nhiều quá mà chưa có bạn nào hổ trợ
Thế còn AI, Machine Learning, Data Science thì sao anh?
Thế còn AI, Machine Learning, Data Sciece thì sao anh?
còn về ML thì sao ạ ad ?
Hi Kteam,
Mình tên Hưng, hiện đang sống và làm việc tại TPHCM.
Mình đang có idea về IT + Dinh dưỡng - Sức khỏe, kiểu như hệ thống tư vấn online dinh dưỡng vậy.
Mình có nhu cầu viết 1 website, viết 1 phần mềm tính dinh dưỡng (theo độ tuổi, giới tính, tình trạng sức khỏe, tình trạng lao động) cũng khá phức tạp và gắn lên website, 1 app dinh dưỡng
Mình cũng có chút kiến thức về công nghệ nhưng không rành về code. Mình tìm hiểu và thấy Python rất hay. Minh đang học Python căn bản trên kênh Youtube của Kteam. Các bạn còn trẻ mà giỏi quá.
Kteam có thể tư vấn giúp mình xem viết những thứ mình cần thì phải học những gì, mất thời gian bao lâu, học Python có thể giải quyết được hết những gì mình cần không.
Hy vọng có thể gặp và mời Kteam cafe nhé.
Cảm ơn các bạn rất nhiều.
Hi Kteam,
Mình tên Hưng, hiện đang sống và làm việc tại TPHCM.
Mình đang có idea về IT + Dinh dưỡng - Sức khỏe, kiểu như hệ thống tư vấn online dinh dưỡng vậy.
Mình có nhu cầu viết 1 website, viết 1 phần mềm tính dinh dưỡng (theo độ tuổi, giới tính, tình trạng sức khỏe, tình trạng lao động) cũng khá phức tạp và gắn lên website, 1 app dinh dưỡng
Mình cũng có chút kiến thức về công nghệ nhưng không rành về code. Mình tìm hiểu và thấy Python rất hay. Minh đang học Python căn bản trên kênh Youtube của Kteam. Các bạn còn trẻ mà giỏi quá.
Kteam có thể tư vấn giúp mình xem viết những thứ mình cần thì phải học những gì, mất thời gian bao lâu, học Python có thể giải quyết được hết những gì mình cần không.
Hy vọng có thể gặp và mời Kteam cafe nhé.
Cảm ơn các bạn rất nhiều.