Hướng dẫn học lập trình Python từ cơ bản đến nâng cao (Tập 1). Học kiến thức thông qua từng ví dụ trực tiếp. Chào mừng bạn đến với cuốn sách “Hướng dẫn học lập trình Python từ cơ bản đến nâng cao”. Đây không chỉ là một cuốn sách, mà là một hành trình khám phá vẻ đẹp và sức mạnh của ngôn ngữ lập trình Python. Python không chỉ là một ngôn ngữ, nó là một cánh cửa mở ra vô số cơ hội. Từ phân tích dữ liệu, trí tuệ nhân tạo đến phát triển ứng dụng web và nhiều lĩnh vực khác nữa, Python đã trở thành ngôn ngữ lập trình đa năng và phổ biến trên toàn thế giới. Cuốn sách này sẽ dẫn dắt bạn qua từng bước đi của việc học lập trình Python. Bắt đầu từ những khái niệm cơ bản như biến, điều kiện và vòng lặp, mình sẽ dần dần tiến vào những chủ đề sâu hơn như hướng đối tượng, xử lý ngoại lệ, và thậm chí cả những khái niệm nâng cao như decorators và generators. Mình tin rằng việc học lập trình không chỉ là việc nắm vững ngôn ngữ mà còn là việc hiểu rõ về cách tiếp cận vấn đề và giải quyết nó một cách hiệu quả. Đó chính là lý do tại sao mình không chỉ tập trung vào cú pháp của Python, mà còn đưa ra các ví dụ thực tế và bài tập giúp bạn ứng dụng kiến thức vào thực tế. Dù bạn là một người mới bắt đầu hay đã có kinh nghiệm trong lập trình, cuốn sách này đều mang đến giá trị cho mọi người. Hy vọng rằng sau khi học hết kiến thức trong cuốn sách, bạn sẽ không chỉ trở thành một lập trình viên Python giỏi mà còn có khả năng sáng tạo và giải quyết các vấn đề phức tạp. Mình rất mong được chung tay cùng bạn trên hành trình này và hy vọng cuốn sách sẽ mang lại những tri thức hữu ích và động lực để bạn tiếp tục phát triển kỹ năng lập trình. Chúc bạn may mắn và hãy bắt đầu hành trình này với niềm đam mê và tinh thần khao khát học hỏi
Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 – thinnd.work@gmail.com Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 – thinnd.work@gmail.com Hướng dẫn học lập trình Python Từ đến nâng cao Tập Tác giả: Nhữ Duy Thìn Đăng: 2023-10-20 Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 – thinnd.work@gmail.com Lời nói đầu (Đừng bỏ qua trước bạn học kiến thức sách nhé) Chào mừng bạn đến với sách “Hướng dẫn học lập trình Python từ đến nâng cao” Đây không sách, mà hành trình khám phá vẻ đẹp sức mạnh ngơn ngữ lập trình Python Python khơng ngơn ngữ, cánh cửa mở vơ số hội Từ phân tích liệu, trí tuệ nhân tạo đến phát triển ứng dụng web nhiều lĩnh vực khác nữa, Python trở thành ngôn ngữ lập trình đa phổ biến tồn giới Cuốn sách dẫn dắt bạn qua bước việc học lập trình Python Bắt đầu từ khái niệm biến, điều kiện vịng lặp, tiến vào chủ đề sâu hướng đối tượng, xử lý ngoại lệ, chí khái niệm nâng cao decorators generators Mình tin việc học lập trình khơng việc nắm vững ngơn ngữ mà việc hiểu rõ cách tiếp cận vấn đề giải cách hiệu Đó lý khơng tập trung vào cú pháp Python, mà đưa ví dụ thực tế tập giúp bạn ứng dụng kiến thức vào thực tế Dù bạn người bắt đầu hay có kinh nghiệm lập trình, sách mang đến giá trị cho người Hy vọng sau học hết kiến thức sách, bạn không trở thành lập trình viên Python giỏi mà cịn có khả sáng tạo giải vấn đề phức tạp Mình mong chung tay bạn hành trình hy vọng sách mang lại tri thức hữu ích động lực để bạn tiếp tục phát triển kỹ lập trình Chúc bạn may mắn bắt đầu hành trình với niềm đam mê tinh thần khao khát học hỏi! Cuốn sách sách thứ viết lập trình với mục đích ban đầu dành tặng cho bạn học trò Nhưng sách đánh dấu kỉ niệm trình làm IT mình, thấu hiểu nỗi buồn bạn làm IT ngoại ngữ chưa tốt, tìm hiểu kiến thức lâu chút nên đăng link sách cơng khai cho tất bạn tham khảo học tập nhé! Sau đọc xong sách bạn thấy hữu ích muốn bạn mời ly cà café Cảm ơn yêu mến từ bạn dành tặng cho Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 – thinnd.work@gmail.com Mời Thinnd ly café (Nếu bạn muốn) Ngân hàng: VPBank Số tài khoản: 189093907 Chủ tài khoản: Nhu Duy Thin Youtube: https://www.youtube.com/@thinndvn Facebook: https://www.facebook.com/nhuduythin LinkedIn: https://www.linkedin.com/in/duy-thìn-nhữ-162058270 Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 – thinnd.work@gmail.com Mục lục I Kiến thức .1 Chương trình Cách chạy chương trình Chương trình Giá trị kiểu liệu Biến 6 Toán tử ❖ Bài tập luyện tập 11 II Công cụ điều khiển luồng (More Control Flow Tools) 13 Nhập/xuất (String Input) 13 Câu lệnh điều kiện if … else (if statements) 13 ❖ Bài tập luyện tập 15 Vòng lặp 21 ❖ Bài tập luyện tập 28 Câu lệnh Match (Match Statements) 34 Hàm 37 a Cơ hàm 37 b Hàm vô danh (Lambda functions) 39 c Function Annotations 41 ❖ Bài tập luyện tập 43 III Cấu trúc liệu (Data Structures) 46 List (Danh sách) 46 ❖ Bài tập luyện tập 55 Tuple (Bộ) 58 ❖ Bài tập luyện tập 60 Dictionary (Từ điển) 61 ❖ Bài tập luyện tập 65 Set (Tập hợp) 66 ❖ Bài tập luyện tập 69 String (Chuỗi) 70 ❖ Bài tập luyện tập 72 IV Modules 73 Cơ modules 73 Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 – thinnd.work@gmail.com Namespace Alias 74 Import thành phần cụ thể 75 Tìm kiếm quản lý module 75 Packages 75 V Lỗi ngoại lệ (Errors and Exceptions) 77 Lỗi cú pháp 77 Lỗi thực thi 77 Ngoại lệ 77 Xử lý ngoại lệ 78 Đưa ngoại lệ 79 Ngoại lệ người dùng xác định 80 VI Lớp (Class) 80 A Phần 1: Cơ lớp 80 Giới thiệu lớp đối tượng (Object Class) 80 Khai báo lớp (Class Definition) 82 Thuộc tính phương thức 83 Hàm khởi tạo self Python 87 Truy cập thay đổi thuộc tính đối tượng 89 Phương thức getter setter 90 B Phần 2: Kế thừa đa hình 90 Kế thừa Python 90 Ghi đè phương thức, thuộc tính 93 Sử dụng super() để gọi phương thức lớp cha 95 Đa kế thừa Python 97 Đa hình 98 Interface, Abstract Base Class (ABC) phương thức trừu tượng 101 C Phần 3: Đóng gói bảo vệ liệu 102 Đóng gói liệu Python 103 Phạm vi biến lớp 103 Thuộc tính riêng tư, bảo vệ cơng khai 105 Decorator @property @classmethod 107 D Phần 4: Liên kết quản lý đối tượng 109 Quản lý nhớ garbage collection 109 Liên kết đối tượng Python 110 Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 – thinnd.work@gmail.com Mối quan hệ "has-a" "is-a" 112 Đối tượng tham chiếu 114 E Phần 5: Mở rộng khái niệm hiểu biết lớp 115 Mixin multiple inheritance 115 Decorator hướng đối tượng 117 Singleton Factory pattern 118 ❖ Bài tập luyện tập 120 VII Làm việc với File 125 Mở tập tin 125 Đọc nội dung tập tin 126 Ghi vào tập tin 126 Đóng tập tin 126 Sử dụng context managers 127 Xử lý tập tin nhị phân 127 Kiểm tra tồn tập tin 127 ❖ Bài tập luyện tập 128 Phụ lục 129 Quy tắc đặt tên biến 129 Ép kiểu (Type Casting) Python 130 Comment Python 132 Tình cảm dành cho Thinnd 133 Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 – thinnd.work@gmail.com Hướng dẫn lập trình python từ đến nâng cao I Kiến thức Chương trình Chương trình chuỗi hướng dẫn xác định cách thực tính tốn Phép tính mang tính chất tốn học, chẳng hạn giải hệ phương trình tìm nghiệm đa thức, phép tính mang tính biểu tượng, chẳng hạn tìm kiếm thay văn tài liệu đồ họa đó, xử lý hình ảnh chơi trị chơi, video Các chi tiết trông khác ngôn ngữ khác có số hướng dẫn xuất tất ngơn ngữ: • input: Nhận liệu từ bàn phím, tệp, mạng số thiết bị khác • output: Hiển thị liệu hình, lưu vào file, gửi qua mạng,… • math: Thực phép toán cộng nhân • conditional execution: Kiểm tra điều kiện định chạy mã thích hợp • repetition: Thực số hành động lặp lặp lại, thường có số biến thể Cách chạy chương trình • Cài đặt Python phần mềm liên quan - Lên trình duyệt tìm kiếm: “Download python” - Tải phần mềm cài đặt tương thích với máy tính - Có thể cài đặt thêm Environment variables • Chạy python trang web cung cấp tảng cho phép chạy chương trình python Gợi ý: Nên cài đặt python máy Trình thơng dịch python (interpreter) chương trình đọc thực thi mã Python: Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 – thinnd.work@gmail.com `>>>` Dấu nhắc python Tổng quát cách chạy chương trình Chạy mơi trường dịng lệnh ✓ Trên Windows: Tìm mở "Command Prompt" "Powershell" ✓ Trên macOS: Mở "Terminal" ✓ Trên Linux: Mở "Terminal" "Console" Tạo file chương trình (Lưu trữ code – file py) ✓ Tạo file lưu trữ chương trình (file code) ✓ Tìm đến địa lưu trữ file ✓ Sử dụng lệnh cd (change directory) để di chuyển đến thư mục chứa tệp tin Python Ví dụ, tệp tin bạn nằm thư mục "Documents" tên tệp tin my_program.py, bạn sử dụng lệnh: ✓ Sử dụng lệnh python python3 (tùy thuộc vào cài đặt bạn) định tên tệp tin Python mà bạn muốn chạy Ví dụ: Chương trình Python bạn thực thi kết hiển thị cửa sổ dòng lệnh Chương trình “Hello World” – Một cụm từ thân quen lập trình viên Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 – thinnd.work@gmail.com Để hiển thị thơng tin lên hình sử dụng câu lệnh: Ví dụ: Giá trị kiểu liệu • Giá trị: Giá trị thành phần mà chương trình làm việc, chẳng hạn chữ số • Kiểu liệu: Cách kiểm tra kiểu liệu: Một số kiểu liệu: ✓ Số nguyên (Integer): Là kiểu liệu dùng để lưu trữ số nguyên Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 – thinnd.work@gmail.com Trong ví dụ trên, Singleton sử dụng biến tĩnh _instance để lưu trữ thể lớp Phương thức new kiểm tra xem thể tạo hay chưa, chưa tạo thể mới, có trả thể có • Factory Pattern Factory Pattern mẫu thiết kế giúp tạo đối tượng mà không cần phải tiết lộ logic cụ thể việc tạo chúng Thay vào đó, cung cấp giao diện chung để tạo đối tượng tình định Ví dụ: 119 Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 – thinnd.work@gmail.com Trong ví dụ trên, AnimalFactory factory class Phương thức create_animal nhận loại động vật tên, sau tạo đối tượng phù hợp dựa loại động vật cung cấp • Sự khác biệt Singleton Factory Pattern - Singleton Pattern đảm bảo lớp có thể - Factory Pattern cung cấp cách tạo đối tượng mà không tiết lộ logic cụ thể việc tạo chúng ❖ Bài tập luyện tập Lời tác giả: “Chú ý: Các tập dẫn dắt dạng tập điển hình, khơng trích dẫn u cầu chi tiết Đối với tập bạn cần vận dụng kiến thức tư để phát triển yêu cầu đề từ u cầu đưa Các bạn giáo viên sử dụng tài liệu cần lưu ý điều để xây dựng tập nhé!” Bài tập bản: Bài tập 1: Tạo Lớp Đơn Giản: Tạo lớp đơn giản khởi tạo đối tượng từ lớp Yêu cầu: Tạo lớp đơn giản có tên Person Lớp khơng có thuộc tính hay phương thức Bài tập 2: Thuộc Tính Phương Thức: Thêm thuộc tính phương thức cho lớp u cầu: Thêm thuộc tính name age cho lớp Person Tạo phương thức introduce để in thông tin cá nhân người Bài tập 3: In Giá Trị Thuộc Tính: Tạo phương thức để in giá trị nhiều thuộc tính Yêu cầu: Thêm phương thức display_info để in tên tuổi người lớp Person 120 Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 – thinnd.work@gmail.com Bài tập 4: Thay Đổi Giá Trị Thuộc Tính: Tạo phương thức để thay đổi giá trị thuộc tính Yêu cầu: Thêm phương thức update_age để cập nhật tuổi người lớp Person Bài tập 5: Kế Thừa: Tạo lớp kế thừa từ lớp cha thêm thuộc tính/phương thức riêng Yêu cầu: Tạo lớp Student kế thừa từ lớp Person với thêm thuộc tính student_id Thêm phương thức display_student_info để in thông tin cá nhân học sinh Bài tập trung bình: Bài tập 6: Nạp Chồng Phương Thức: Nạp chồng phương thức lớp Yêu cầu: Nạp chồng phương thức introduce lớp Student để in thông tin định dạng khác Bài tập 7: Đóng Gói (Encapsulation): Sử dụng thuộc tính/ phương thức riêng tư phương thức getter setter Yêu cầu: Sử dụng thuộc tính riêng tư (name, age, student_id) tạo phương thức get_name, get_age, get_student_id, set_student_id để thao tác với thuộc tính Bài tập 8: Kế Thừa Đa Cấp: Tạo dạng kế thừa đa cấp với nhiều lớp Yêu cầu: Tạo lớp Teacher kế thừa từ Person lớp Subject kế thừa từ Teacher Mỗi lớp có thuộc tính phương thức riêng Bài tập 9: Đa Hình (Polymorphism): Sử dụng đa hình để thực phương thức khác lớp Yêu cầu: Tạo phương thức teach lớp Teacher Subject tên có hành động khác Bài tập 10: Quản lý Đối Tượng (Object Management): Tạo phương thức để thêm, sửa đổi xóa đối tượng từ danh sách 121 Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 – thinnd.work@gmail.com Yêu cầu: Tạo lớp School có khả thêm, sửa đổi xóa đối tượng học sinh giáo viên Bài tập nâng cao: Bài tập 11: Lớp Trừu Tượng (Abstract Class): Tạo lớp trừu tượng lớp cài đặt phương thức trừu tượng Yêu cầu: Tạo lớp trừu tượng Shape với phương thức calculate_area Kế thừa cài đặt calculate_area lớp hình khác (hình vng, hình trịn) Bài tập 12: Mixin: Sử dụng mixin để chia sẻ phương thức lớp khơng có quan hệ kế thừa Yêu cầu: Tạo mixin LoggerMixin có phương thức log để log thơng tin Sử dụng mixin lớp khác Bài tập 13: Decorator với Lớp: Sử dụng decorator để mở rộng thay đổi hành vi phương thức Yêu cầu: Tạo decorator @timed để đo thời gian thực phương thức Bài tập 14: Lớp Singleton: Tạo lớp Singleton để đảm bảo có đối tượng lớp tạo Yêu cầu: Tạo lớp Singleton Settings để lưu trữ cài đặt ứng dụng Bài tập 15: Phương Thức Tĩnh (Static Method): Sử dụng phương thức tĩnh để thực hành động liên quan đến lớp đối tượng Yêu cầu: Tạo lớp MathUtils với phương thức tĩnh add multiply Bài tập Expert: Bài tập 16: Descriptors: Sử dụng Descriptors để kiểm soát việc truy cập vào thuộc tính đối tượng Yêu cầu: Sử dụng Descriptors để kiểm soát việc truy cập vào thuộc tính lớp Person 122 Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 – thinnd.work@gmail.com Bài tập 17: Decorator với Lớp Phương Thức: Sử dụng decorator để thay đổi mở rộng hành vi phương thức lớp Yêu cầu: Tạo decorator @authenticated để kiểm tra xem người dùng có quyền truy cập hay không Bài tập 18: Kế Thừa Đa Miền (Multiple Inheritance): Tạo lớp kế thừa từ nhiều lớp cha Yêu cầu: Tạo lớp Athlete kế thừa từ Student Subject để biểu diễn vận động viên Bài tập 19: Tạo Hàm Tạo (Factory Method): Sử dụng phương thức tạo để tạo đối tượng thích hợp Yêu cầu: Tạo hàm tạo (factory_method) lớp Product để tạo loại sản phẩm khác Bài tập 20: Đệ Quy Trong Lớp: Tạo phương thức đệ quy lớp Yêu cầu: Tạo phương thức đệ quy lớp Directory để duyệt qua tệp tin thư mục Bài tập dạng quản lý (Cơ - Basic) Bài tập 21: Quản lý sách Yêu cầu: • Mỗi đối tượng sách có thuộc tính: id, tựa đề, tác giả, năm xuất bản, số lượng tồn kho • id mã sách tự động tăng • Khi khởi tạo, chương trình đọc file "books.txt" để lấy danh sách sách lưu trước • u cầu tạo menu với chức sau: ✓ Yêu cầu 1: Thêm sách 123 Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 – thinnd.work@gmail.com ✓ Yêu cầu 2: Cập nhật thông tin sách id ✓ Yêu cầu 3: Xóa sách id ✓ Yêu cầu 4: Tìm kiếm sách theo tựa đề tác giả ✓ Yêu cầu 5: Sắp xếp sách theo năm xuất ✓ Yêu cầu 6: Sắp xếp sách theo tựa đề ✓ Yêu cầu 7: Hiển thị danh sách sách ✓ Yêu cầu 8: Ghi danh sách sách vào file "books.txt" Bài tập 22: Quản lý nhân viên u cầu: • Mỗi đối tượng nhân viên có thuộc tính: id, tên, chức vụ, lương • id mã nhân viên tự động tăng • Khi khởi tạo, chương trình đọc file "employees.txt" để lấy danh sách nhân viên lưu trước • u cầu tạo menu với chức sau: ✓ Yêu cầu 1: Thêm nhân viên ✓ Yêu cầu 2: Cập nhật thông tin nhân viên ID ✓ Yêu cầu 3: Xóa nhân viên ID ✓ Yêu cầu 4: Tìm kiếm nhân viên theo tên chức vụ ✓ Yêu cầu 5: Sắp xếp nhân viên theo lương ✓ Yêu cầu 6: Sắp xếp nhân viên theo tên ✓ Yêu cầu 7: Hiển thị danh sách nhân viên ✓ Yêu cầu 8: Ghi danh sách nhân viên vào file "employees.txt" Bài tập 23: Quản lý Hóa Đơn u cầu: • Mỗi đối tượng hóa đơn có thuộc tính: id, ngày mua, danh sách sản phẩm (mỗi sản phẩm gồm tên, giá, số lượng) • id mã hóa đơn tự động tăng 124 Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 – thinnd.work@gmail.com • Khi khởi tạo, chương trình đọc file "invoices.txt" để lấy danh sách hóa đơn lưu trước • u cầu tạo menu với chức sau: ✓ Thêm hóa đơn ✓ Cập nhật thơng tin hóa đơn ID ✓ Xóa hóa đơn ID ✓ Tính tổng giá trị hóa đơn ✓ Tính tổng giá trị hóa đơn theo ngày ✓ Hiển thị danh sách hóa đơn ✓ Ghi danh sách hóa đơn vào file "invoices.txt" • Ghi chú: ✓ Để tính tổng giá trị hóa đơn, bạn cần duyệt qua danh sách sản phẩm hóa đơn tính tổng (giá x số lượng) sản phẩm ✓ Để tính tổng giá trị hóa đơn theo ngày, bạn cần nhập ngày cụ thể sau duyệt qua danh sách hóa đơn để tìm hóa đơn có ngày mua tương ứng Tiếp theo, tính tổng giá trị hóa đơn VII Làm việc với File Python cung cấp phương thức đơn giản mạnh mẽ để làm việc với tập tin Bạn mở, đọc, ghi đóng tập tin cách dễ dàng Mở tập tin Có thể mở tập tin hàm open() Hàm nhận hai đối số: tên tập tin chế độ mở tập tin ('r' cho đọc, 'w' cho ghi, 'a' cho nối, ) Ví dụ: 125 Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 – thinnd.work@gmail.com Đọc nội dung tập tin Sau mở tập tin, bạn đọc nội dung cách sử dụng phương thức read(), readline(), readlines() Ví dụ: Ghi vào tập tin Để ghi vào tập tin, bạn cần mở tập tin với chế độ 'w' 'a' (nếu bạn muốn nối tiếp) Ví dụ: Đóng tập tin Sau hồn thành cơng việc với tập tin, bạn cần phải đảm bảo bạn đóng Ví dụ: 126 Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 – thinnd.work@gmail.com Sử dụng context managers Một cách tốt để làm việc với tập tin sử dụng context manager (with) Context manager đảm bảo tập tin đóng tự động sau bạn hồn thành cơng việc Ví dụ: Xử lý tập tin nhị phân Ngoài phương thức trên, Python hỗ trợ đọc ghi tập tin nhị phân Bạn cần mở tập tin với chế độ 'rb' (đọc) 'wb' (ghi) Ví dụ: Kiểm tra tồn tập tin Trước đọc ghi vào tập tin, bạn nên kiểm tra xem tập tin có tồn khơng Ví dụ: 127 Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 – thinnd.work@gmail.com ❖ Bài tập luyện tập Bài tập bản: Bài tập 1: Đọc In File: Viết chương trình Python để đọc nội dung file văn in hình Bài tập 2: Đếm Dịng: Viết chương trình để đếm số dòng file văn Bài tập 3: Đếm Từ: Tạo chương trình để đếm số từ file văn Bài tập 4: Tìm Từ Duy Nhất: Tìm in từ file văn Bài tập 5: Tìm Các Dịng Chứa Từ: Tìm in dòng chứa từ cụ thể file văn Bài tập trung bình: Bài tập 6: Thống Kê Từ: Đếm tần suất xuất từ file văn Bài tập 7: Sắp Xếp Và Ghi File: Đọc liệu từ file, xếp ghi lại vào file khác Bài tập 8: Tìm Dịng Dài Nhất: Tìm in dòng dài file văn Bài tập 9: Nối Các File: Nối nhiều file thành file lớn Bài tập 10: Chuyển Đổi Định Dạng: Chuyển đổi liệu từ định dạng file sang định dạng khác (ví dụ: từ CSV sang JSON) Bài tập nâng cao: Bài tập 11: Nén File: Viết chương trình để nén file thư mục Bài tập 12: Giải Nén File: Viết chương trình để giải nén file nén Bài tập 13: Mã Hóa Và Giải Mã File: Sử dụng mã hóa (ví dụ: base64) để mã hóa giải mã nội dung file Bài tập 14: Xử Lý File Excel: Đọc ghi liệu từ file Excel, thực phép toán 128 Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 – thinnd.work@gmail.com Bài tập 15: Xử Lý File JSON: Đọc ghi liệu từ file JSON, thực thao tác CRUD (Tạo, Đọc, Cập Nhật, Xóa) Bài tập 16: Xử Lý File XML: Đọc ghi liệu từ file XML, thực thao tác CRUD Bài tập 17: Tạo Backup Tự Động: Viết chương trình tự động tạo lưu thư mục file vào thư mục khác Bài tập 18: Đồng Bộ Hóa File: Viết chương trình để đồng hóa liệu từ thư mục vào thư mục khác Bài tập 19: Ghi Log: Tạo file log ghi lại kiện quan trọng Bài tập 20: Tối Ưu Hóa Đọc Ghi File Lớn: Viết chương trình để đọc ghi liệu từ file lớn cách tối ưu, tránh việc đọc toàn nội dung vào nhớ Phụ lục Quy tắc đặt tên biến Trong Python, có số quy tắc mà bạn nên tuân thủ đặt tên biến để làm cho mã bạn dễ đọc dễ hiểu Dưới số quy tắc quan trọng: • Chỉ sử dụng ký tự chữ (a-z, A-Z), số (0-9) dấu gạch (_) tên biến • Tên biến khơng nên bắt đầu số Ví dụ, 1st_variable khơng hợp lệ, variable1 hợp lệ • Tránh sử dụng từ khoá Python if, else, for, while, làm tên biến Ví dụ, bạn khơng nên đặt tên biến if, else,… • Python phân biệt chữ hoa chữ thường, nghĩa biến name Name coi khác • Đặt tên biến mơ tả xác nội dung mục đích biến Ví dụ, bạn lưu trữ tuổi người, age tên biến hợp lệ • Tránh sử dụng tên biến ngắn, không rõ ràng a, b, x, y, Điều làm cho mã khó đọc hiểu 129 Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 – thinnd.work@gmail.com • Nếu tên biến gồm nhiều từ, sử dụng dấu gạch (_) viết hoa từ (snake_case CamelCase) để tạo rõ ràng Ví dụ: first_name, total_score, myVariable • Hãy sử dụng tên biến có ý nghĩa có mục tiêu Ví dụ, thay temp (tạm thời), sử dụng user_input (đầu vào người dùng) • Tránh sử dụng từ viết tắt từ viết liền (khơng có khoảng trắng) • Tránh sử dụng Unicode ký tự đặc biệt tên biến Mặc dù Python cho phép, khơng nên điều làm cho mã bạn khó đọc gây khó khăn việc chia sẻ mã với người khác Lưu ý: Nhớ rằng, quy tắc không bắt buộc, tuân thủ chúng giúp mã bạn dễ đọc dễ bảo trì tương lai Ép kiểu (Type Casting) Python Ép kiểu (Type Casting) Python cho phép bạn chuyển đổi giá trị từ kiểu liệu sang kiểu liệu khác Có hai cách để thực ép kiểu: ngầm định (implicit) tường minh (explicit) • Ngầm định (Implicit) Type Casting: Ngầm định type casting xảy tự động Python mà không cần phải cung cấp cú pháp toán tử Điều thường xảy biểu thức phức tạp Ví dụ: Ở đây, Python tự động ép kiểu int_number thành float để thực phép cộng, result 7.5 • Tường minh (Explicit) Type Casting: 130 Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 – thinnd.work@gmail.com Tường minh ép kiểu xảy bạn muốn rõ ràng chuyển đổi giá trị từ kiểu sang kiểu khác Có số hàm sẵn có để thực việc - int(): Chuyển đổi sang số nguyên - float(): Chuyển đổi sang số thập phân - str(): Chuyển đổi sang chuỗi - list(): Chuyển đổi sang danh sách - tuple(): Chuyển đổi sang tuple - set(): Chuyển đổi sang tập hợp Chú ý: 131 Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 – thinnd.work@gmail.com ✓ Ép kiểu dẫn đến mát thông tin sai lệch giá trị ban đầu, đó, cẩn thận sử dụng ✓ Ép kiểu thực giá trị chuyển đổi sang kiểu mong muốn Ví dụ: chuyển đổi chuỗi số thành số ✓ Ép kiểu sử dụng biểu thức Ví dụ: int("5") trả Comment Python • Bình luận dịng (Single-line comments): Được sử dụng để bình luận dịng có hiệu lực dịng • Bình luận đa dịng (Multi-line comments): Được sử dụng để bình luận nhiều dòng phần lớn mã nguồn Sử dụng ba dấu ngoặc kép ba dấu nháy đơn để bao quanh dịng bình luận đa dịng: 132 Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 – thinnd.work@gmail.com Tình cảm dành cho Thinnd Mời Thinnd ly café (nếu bạn muốn) Ngân hàng: VPBank Số tài khoản: 189093907 Chủ tài khoản: Nhu Duy Thin Youtube: https://www.youtube.com/@thinndvn Facebook: https://www.facebook.com/nhuduythin LinkedIn: https://www.linkedin.com/in/duy-thìn-nhữ-162058270 133