
- Hiểu ngôn ngữ lập trình là gì
- Ngôn ngữ bậc cao, bậc thấp
- Trình thông dịch, biên dịch
- Ứng dụng ngôn ngữ lập trình python
For: Lặp một số lần xác định.
While: Lặp lại khi điều kiện là đúng.
Trong Python, list là một kiểu dữ liệu phổ biến để lưu trữ một tập hợp các giá trị có thể thay đổi và có thể chứa nhiều kiểu dữ liệu khác nhau
Đặc điểm của Hàm trong Lập Trình:
Tên Hàm: Mỗi hàm có một tên riêng để gọi đến khi cần thiết.
Tham Số (Parameters): Các giá trị đầu vào mà hàm nhận để xử lý. Không phải lúc nào hàm cũng cần tham số.
Giá Trị Trả Về (Return Value): Kết quả mà hàm trả lại sau khi thực hiện xong. Một số hàm có thể không trả về giá trị nào (trả về void).
Khối Lệnh (Body): Các câu lệnh được thực thi khi hàm được gọi.
Hàm lambda trong Python là một cách ngắn gọn để định nghĩa các hàm không tên (anonymous functions). Cú pháp của nó đơn giản và dễ hiểu, giúp tạo các hàm ngắn gọn trong một dòng, thường được sử dụng khi bạn cần một hàm ngắn chỉ dùng một lần.
Cú pháp:
lambda arguments: expression
Trong đó:
arguments: Danh sách các tham số đầu vào, có thể không có hoặc có nhiều tham số.
expression: Biểu thức trả về kết quả, chỉ được phép viết một dòng duy nhất.
Trong Python, các hàm map(), filter(), và reduce() là những hàm thường được dùng trong lập trình hàm để xử lý dữ liệu một cách hiệu quả và ngắn gọn:
map():
Hàm map() được sử dụng để áp dụng một hàm lên từng phần tử của một iterable (danh sách, tuple, v.v.).
Cú pháp: map(function, iterable)
Trả về: Một iterable mới với các giá trị được tính từ hàm đã chỉ định.
filter():
Hàm filter() được dùng để lọc các phần tử của một iterable dựa trên một điều kiện (hàm trả về giá trị boolean).
Cú pháp: filter(function, iterable)
Trả về: Một iterable mới chỉ chứa các phần tử thỏa mãn điều kiện.
reduce():
Hàm reduce() được dùng để áp dụng một hàm lên các phần tử của iterable từ trái qua phải, và trả về một giá trị duy nhất. Bạn cần import nó từ thư viện functools.
Cú pháp: reduce(function, iterable)
Trả về: Một giá trị duy nhất được tính toán dựa trên hàm đã chỉ định
1. Positional Arguments (Đối số vị trí)
Các đối số này được truyền theo đúng thứ tự của tham số mà hàm yêu cầu.
Vị trí của các đối số rất quan trọng vì chúng được ánh xạ trực tiếp theo thứ tự định nghĩa của các tham số trong hàm.
2. Keyword Arguments (Đối số khóa)
Bạn truyền đối số bằng cách chỉ rõ tên tham số (từ khóa) kèm theo giá trị tương ứng, do đó thứ tự truyền không quan trọng.
Điều này làm cho đoạn mã dễ đọc hơn, đặc biệt khi hàm có nhiều tham số.
Trong Python, __main__ là tên của môi trường mà một mô-đun đang chạy. Khi bạn chạy một tệp Python, mã trong tệp đó sẽ được thực thi, và biến đặc biệt __name__ sẽ được gán giá trị "__main__".
Trong lập trình, decorator là một mẫu thiết kế (design pattern) cho phép bạn sửa đổi hoặc mở rộng hành vi của một hàm, phương thức, hoặc lớp mà không thay đổi mã nguồn gốc của nó. Decorator thường được sử dụng để bổ sung các tính năng như logging, kiểm tra bảo mật, quản lý cache, hoặc xử lý lỗi một cách tách biệt.
Trong Python, decorator là một hàm nhận một hàm khác làm tham số và trả về một hàm mới với chức năng được thay đổi hoặc mở rộng. Cú pháp của decorator trong Python rất dễ nhận biết với ký hiệu @.
Lập trình hướng đối tượng (Object-Oriented Programming - OOP) là một phương pháp lập trình dựa trên việc mô hình hóa hệ thống theo các "đối tượng". Mỗi đối tượng đại diện cho một thực thể cụ thể trong thế giới thực và có những thuộc tính và hành vi riêng. Các đối tượng này có thể tương tác với nhau để thực hiện những nhiệm vụ phức tạp.
Instance Variable: Thuộc về từng đối tượng riêng biệt.
Class Variable: Thuộc về lớp và được chia sẻ giữa tất cả các đối tượng của lớp đó.
Kế thừa là một tính năng quan trọng trong lập trình hướng đối tượng, giúp cho một lớp mới có thể kế thừa các thuộc tính và phương thức từ một lớp đã tồn tại (lớp cha hoặc lớp cơ sở). Điều này giúp tái sử dụng mã nguồn, giảm sự trùng lặp và tổ chức mã dễ dàng hơn.
Tính đóng gói (Encapsulation) là một trong những nguyên lý cơ bản của lập trình hướng đối tượng (OOP), bao gồm việc gói gọn dữ liệu và các phương thức (hàm) xử lý dữ liệu đó trong một thực thể (object). Trong Python, tính đóng gói giúp bảo vệ dữ liệu bên trong một đối tượng, ngăn không cho các phần bên ngoài truy cập hoặc sửa đổi trực tiếp
Tính đa hình (Polymorphism) là một trong bốn nguyên lý chính của lập trình hướng đối tượng (OOP). Đa hình cho phép các đối tượng thuộc các lớp khác nhau có thể sử dụng cùng một giao diện (interface) hoặc hành vi, nhưng cách chúng thực hiện (implementation) có thể khác nhau.
Getter và Setter là các phương thức dùng để truy cập và cập nhật giá trị của các thuộc tính trong một lớp (class) trong Python. Chúng giúp kiểm soát quyền truy cập và áp dụng logic khi thay đổi giá trị thuộc tính.
Khi nào nên sử dụng Getter và Setter?
Khi cần kiểm soát cách truy cập và thay đổi thuộc tính.
Khi cần áp dụng các quy tắc xác thực hoặc xử lý logic.
Khi muốn giữ các thuộc tính ở chế độ chỉ đọc hoặc chỉ ghi.
- Giới thiệu về Restful API
- Demo các API tự xây dựng với Postman
- Để cài đặt các thư viện các bạn dùng câu lệnh:
pip install -r requirements.txt
(pip install -r đường dẫn file requirements)
- Tạo cấu trúc dự án
- Khai báo các module
Cách để các bạn chạy server của Flask trên máy local
ORM trong Flask thường được sử dụng với thư viện Flask-SQLAlchemy, một phần mở rộng tích hợp SQLAlchemy vào ứng dụng Flask. Nó giúp quản lý cơ sở dữ liệu dễ dàng bằng cách làm việc với các lớp và đối tượng thay vì viết SQL thủ công.
Các bạn có thể xem thiết kế DB ở file đính kèm.
Marshmallow là một thư viện phổ biến trong Python dùng để tuần tự hóa (serialization) và giải tuần tự hóa (deserialization) dữ liệu. Nó giúp chuyển đổi các đối tượng phức tạp như mô hình cơ sở dữ liệu (models) thành định dạng dễ truyền tải như JSON, đồng thời xác thực dữ liệu đầu vào.
Giới thiệu các method hay dùng trong việc xây dựng API
Làm việc với Flask và SQLAlchemy và muốn hiểu rõ cách JOIN các bảng trong cơ sở dữ liệu
Video này các bạn sẽ nắm được
Giới thiệu về Docker và lợi ích của container hóa
Viết Dockerfile cho ứng dụng web Flask
Xây dựng image và chạy container
Sử dụng Docker Compose để quản lý nhiều dịch vụ
Mình triển khai với ứng dụng Todolist. Với ứng dụng quản lý thư viện các bạn có thể làm tương tự.
Khóa học này được thiết kế đặc biệt dành cho những người mới bước chân vào thế giới lập trình và phát triển web, không yêu cầu bạn phải có bất kỳ kiến thức lập trình trước đó nào. Trong suốt khóa học, bạn sẽ được hướng dẫn từng bước để xây dựng các dịch vụ RESTful API mạnh mẽ bằng cách sử dụng Flask, một framework web phổ biến của Python.
Bạn sẽ bắt đầu với những khái niệm cơ bản nhất, từ việc cài đặt môi trường phát triển đến hiểu cách hoạt động của các yêu cầu HTTP và cách xử lý chúng trong Flask. Khóa học cung cấp các ví dụ thực tiễn và bài tập thực hành, giúp bạn hiểu sâu hơn về cách thiết kế, triển khai, và bảo trì API một cách hiệu quả.
Ngoài ra, bạn cũng sẽ học cách xử lý dữ liệu, thực hiện xác thực, và đảm bảo tính bảo mật cho API của mình. Khóa học sẽ trang bị cho bạn những kỹ năng cần thiết để xây dựng API từ đầu và sẵn sàng triển khai chúng trên các nền tảng đám mây.
Dù bạn mới bắt đầu hay đang tìm kiếm cách mở rộng kỹ năng lập trình của mình, khóa học này sẽ giúp bạn nắm vững các khái niệm và công cụ quan trọng để phát triển RESTful API với Flask và Python.