<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Python cơ bản - Series - Nguyễn Công Thành</title><link>https://nguyencongthanh.io.vn/series/python-c%C6%A1-b%E1%BA%A3n/</link><description>Python cơ bản - Series - Nguyễn Công Thành</description><generator>Hugo -- gohugo.io</generator><language>vi</language><lastBuildDate>Fri, 25 Sep 2026 09:10:00 +0700</lastBuildDate><atom:link href="https://nguyencongthanh.io.vn/series/python-c%C6%A1-b%E1%BA%A3n/" rel="self" type="application/rss+xml"/><item><title>Python cơ bản – Bài 1: Giới thiệu series</title><link>https://nguyencongthanh.io.vn/posts/python-basics-1/</link><pubDate>Fri, 25 Sep 2026 09:01:00 +0700</pubDate><author>Nguyễn Công Thành</author><guid>https://nguyencongthanh.io.vn/posts/python-basics-1/</guid><description><![CDATA[<!-- TODO: câu chuyện cá nhân — vì sao bạn viết series này, ví dụ lần đầu bạn học lập trình hoặc câu hỏi anh em hay hỏi bạn. -->
<p>Nhiều bài trên blog này dùng Python để minh họa: gọi API, xử lý dữ liệu, viết script tự động hóa. Nếu bạn chưa từng viết một dòng code nào, đọc những bài đó sẽ khá vất vả. Series &ldquo;Python cơ bản&rdquo; viết ra để lấp khoảng trống đó. Đọc hết series, bạn sẽ nắm được những khái niệm lập trình nền tảng và đủ sức theo các bài nâng cao hơn.</p>]]></description></item><item><title>Python cơ bản – Bài 2: Biến và kiểu dữ liệu đơn giản</title><link>https://nguyencongthanh.io.vn/posts/python-basics-2/</link><pubDate>Fri, 25 Sep 2026 09:02:00 +0700</pubDate><author>Nguyễn Công Thành</author><guid>https://nguyencongthanh.io.vn/posts/python-basics-2/</guid><description>&lt;p>Chương trình nào cũng làm việc với dữ liệu: tên người dùng, giá một món hàng, nội dung một tin nhắn. Trước khi viết được thứ gì có ích, bạn cần biết cách lưu những dữ liệu đó lại và xử lý chúng. Bài này giới thiệu biến, hai kiểu dữ liệu đơn giản nhất là chuỗi và số, và cách ghi chú trong code.&lt;/p></description></item><item><title>Python cơ bản – Bài 3: Làm quen với list</title><link>https://nguyencongthanh.io.vn/posts/python-basics-3/</link><pubDate>Fri, 25 Sep 2026 09:03:00 +0700</pubDate><author>Nguyễn Công Thành</author><guid>https://nguyencongthanh.io.vn/posts/python-basics-3/</guid><description>&lt;p>Ở bài trước, mỗi biến giữ một giá trị. Nhưng dữ liệu thực tế thường đi theo nhóm: danh sách khách mời, các món trong thực đơn, các tỉnh thành bạn muốn đi. Tạo một biến cho từng thứ thì không ổn. Python có &lt;em>list&lt;/em> để giữ cả nhóm trong một biến, và bài này giới thiệu cách tạo, đọc, sửa, thêm, xóa và sắp xếp list.&lt;/p></description></item><item><title>Python cơ bản – Bài 4: Làm việc với list</title><link>https://nguyencongthanh.io.vn/posts/python-basics-4/</link><pubDate>Fri, 25 Sep 2026 09:04:00 +0700</pubDate><author>Nguyễn Công Thành</author><guid>https://nguyencongthanh.io.vn/posts/python-basics-4/</guid><description>&lt;p>Ở bài 3, mỗi lần làm gì với list là mình phải viết index của từng phần tử. List có 3 phần tử thì còn làm được, list có 3000 phần tử thì không. Bài này giới thiệu vòng lặp &lt;code>for&lt;/code> để xử lý toàn bộ list bằng vài dòng code, cách tạo list số, cách lấy một phần của list, và tuple, một dạng list không sửa được.&lt;/p></description></item><item><title>Python cơ bản – Bài 5: Câu lệnh if</title><link>https://nguyencongthanh.io.vn/posts/python-basics-5/</link><pubDate>Fri, 25 Sep 2026 09:05:00 +0700</pubDate><author>Nguyễn Công Thành</author><guid>https://nguyencongthanh.io.vn/posts/python-basics-5/</guid><description>&lt;p>Đến giờ, chương trình của mình luôn chạy giống nhau, từ dòng đầu tới dòng cuối. Nhưng chương trình thực tế phải phản ứng theo tình huống: người dùng nhập sai mật khẩu thì báo lỗi, khách dưới 4 tuổi thì miễn vé, món khách gọi đã hết thì xin lỗi. Bài này giới thiệu điều kiện và câu lệnh &lt;code>if&lt;/code> để làm việc đó.&lt;/p></description></item><item><title>Python cơ bản – Bài 6: Dictionary</title><link>https://nguyencongthanh.io.vn/posts/python-basics-6/</link><pubDate>Fri, 25 Sep 2026 09:06:00 +0700</pubDate><author>Nguyễn Công Thành</author><guid>https://nguyencongthanh.io.vn/posts/python-basics-6/</guid><description><![CDATA[<p>List giữ các phần tử theo thứ tự, và bạn lấy phần tử ra bằng vị trí. Nhưng nhiều dữ liệu tự nhiên đi theo cặp: tên món và giá, tên đăng nhập và thông tin người dùng, quần đảo và tỉnh thành quản lý. Với những dữ liệu này, bạn muốn tra theo <em>tên</em> chứ không theo vị trí. Python có <em>dictionary</em> cho việc đó. Bài này giới thiệu cách tạo, đọc, sửa, duyệt dictionary, và cách lồng dictionary với list.</p>]]></description></item><item><title>Python cơ bản – Bài 7: Nhập dữ liệu và vòng lặp while</title><link>https://nguyencongthanh.io.vn/posts/python-basics-7/</link><pubDate>Fri, 25 Sep 2026 09:07:00 +0700</pubDate><author>Nguyễn Công Thành</author><guid>https://nguyencongthanh.io.vn/posts/python-basics-7/</guid><description><![CDATA[<p>Các chương trình từ đầu series tới giờ đều dùng dữ liệu viết sẵn trong code. Chương trình thực tế thì phải hỏi người dùng: bạn bao nhiêu tuổi, bạn muốn đặt món gì, bạn có muốn tiếp tục không. Bài này giới thiệu hàm <code>input()</code> để nhận dữ liệu người dùng nhập vào, và vòng lặp <code>while</code> để chương trình chạy tới khi người dùng muốn dừng.</p>]]></description></item><item><title>Python cơ bản – Bài 8: Hàm</title><link>https://nguyencongthanh.io.vn/posts/python-basics-8/</link><pubDate>Fri, 25 Sep 2026 09:08:00 +0700</pubDate><author>Nguyễn Công Thành</author><guid>https://nguyencongthanh.io.vn/posts/python-basics-8/</guid><description>&lt;p>Chương trình càng dài, bạn càng thấy mình viết đi viết lại những đoạn code giống nhau: in lời chào, ghép họ tên, tính tổng tiền. Mỗi lần cần sửa, bạn lại phải sửa ở tất cả những chỗ đó. &lt;em>Hàm&lt;/em> giải quyết chuyện này: đặt tên cho một đoạn code, rồi gọi tên đó mỗi khi cần. Bài này giới thiệu cách viết hàm, truyền dữ liệu vào hàm, nhận kết quả trả về, và tách hàm ra file riêng.&lt;/p></description></item><item><title>Python cơ bản – Bài 9: Class</title><link>https://nguyencongthanh.io.vn/posts/python-basics-9/</link><pubDate>Fri, 25 Sep 2026 09:09:00 +0700</pubDate><author>Nguyễn Công Thành</author><guid>https://nguyencongthanh.io.vn/posts/python-basics-9/</guid><description><![CDATA[<p>Ở bài 6, mình dùng dictionary để lưu thông tin một món đồ uống, và ở bài 8 dùng hàm để xử lý dữ liệu. Nhưng dữ liệu và hàm xử lý nó vẫn nằm tách rời nhau. <em>Class</em> gom cả hai vào một chỗ: một chiếc xe vừa có hãng, mẫu, số km đã chạy, vừa có các hành động như cập nhật số km. Đây là nền tảng của <em>lập trình hướng đối tượng</em> (object-oriented programming, OOP), cách tổ chức code mà bạn sẽ gặp ở hầu hết các thư viện Python. Bài này giới thiệu cách viết class, tạo đối tượng, kế thừa, và import class từ module.</p>]]></description></item><item><title>Python cơ bản – Bài 10: File và exception</title><link>https://nguyencongthanh.io.vn/posts/python-basics-10/</link><pubDate>Fri, 25 Sep 2026 09:10:00 +0700</pubDate><author>Nguyễn Công Thành</author><guid>https://nguyencongthanh.io.vn/posts/python-basics-10/</guid><description><![CDATA[<p>Mọi chương trình từ đầu series tới giờ đều quên sạch dữ liệu khi kết thúc, và dừng ngay khi gặp lỗi. Chương trình thực tế thì cần đọc dữ liệu từ file, lưu kết quả lại cho lần chạy sau, và không sập chỉ vì người dùng gõ chữ vào chỗ cần nhập số. Bài cuối của series giới thiệu cách đọc ghi file với <code>pathlib</code>, xử lý lỗi bằng <em>exception</em>, và lưu dữ liệu bằng module <code>json</code>.</p>]]></description></item></channel></rss>