Một vài trick Python bạn nhất định phải biết trên con đường go-pro

Với bất kỳ ngôn ngữ nào, nếu bạn muốn thuần thục ngôn ngữ đó, bạn nhất định phải biết các thủ thuật cũng như tính năng đặc trưng của ngôn ngữ đó. Những điều này thường được tích lũy qua quá trình làm việc lâu dài, mà một vài quyển sách dạy lập trình không thể nói hết được. Python cũng không phải là ngoại lệ.
Bài viết này sẽ trình bày một vài thủ thuật trong số đó. Các thủ thuật này sẽ giúp code của bạn trong "pro" hơn, ngắn gọn và dễ hiểu hơn. Nếu bạn đã có kinh nghiệm với Python, có thể bạn đã biết gần hết các thủ thuật, nhưng vẫn có thể có những thứ bạn chưa đụng đến bao giờ. Còn nếu bạn mới làm quen với ngôn ngữ, bài viết này sẽ giúp ích cho bạn rất nhiều.
Mỗi một thủ thuật hoặc tính năng của ngôn ngữ đều được demo bằng code và tôi nghĩ rằng, mình không cần phải nói thêm gì nữa. Mọi thứ để đã được thể hiện ở code rồi.
Trong bài viết này, tôi sẽ sử dụng Python 3, code Python 2 có thể thay đổi đôi chút.
- Unpack
- Index âm
- Slice
- Duyệt iterable
- Zip và ứng dụng
- Làm phẳng list
- Sử dụng comprehensions
- Tập hợp và các phép toán liên quan
- Sự vi diệu của collections
- Những phần tử lớn nhất và nhỏ nhất trong 1 list
- Ứng dụng của itertools
- Trong trình thông dịch, _ sẽ lưu giá trị phép tính cuối cùng
- Tham số mặc định là mutable thì phải cẩn thận
- Mở một server HTTP đơn giản
- So sánh theo phong cách "toán học"
- Đảo ngược list
- Chuyển iterable thành string
- Class của Python có thể thay đổi tùy ý
- Hiển thị thuộc tính của 1 đối tượng
- Check dung lượng bộ nhớ mà đối tượng chiếm giữ
- Đặt breakpoint để debug
- Zen of Python
Unpack
Swap hai biến
Sử dụng toán tử *
đại diện cho "phần còn lại"
Index âm
Slice
Slice với index âm
Slice nhảy bước
Slice nhảy bước âm
Slice kết hợp gán với list
Slice đặt tên
Duyệt iterable
Dùng enumerate duyệt qua cả index và giá trị
Duyệt qua key và value của dict
Zip và ứng dụng
Nhóm các phần tử liền nhau
Dùng itertools
Dùng slice
Chuyển đổi dict
Làm phẳng list
Dùng itertools
Dùng sum
Dùng list comprehension
Nâng cao: list với các phần tử bất kỳ
Sử dụng comprehensions
Biểu thứ generator
Dict comprehension
Chuyển đổi dict dùng comprehension
Tập hợp và các phép toán liên quan
Sự vi diệu của collections
namedtupple
Tập hợp cùng tuần số xuất hiện
Phần tử xuất hiện nhiều nhất
Hàng đợi hai đầu
Hàng đợi hai đầu có giới hạn độ dài
Dict có thứ tự
Dict với giá trị mặc định
Cấu trúc cây với default dict
Sinh uniqe id cho từng giá trị
Những phần tử lớn nhất và nhỏ nhất trong 1 list
Ứng dụng của itertools
Tích Descartes
Tổ hợp
Chỉnh hợp
Ghép các iterable
Nhóm các phần tử theo một tiêu chí
Tham số của startswith
Tương tự với endswith
và isinstance
Trong trình thông dịch, _
sẽ lưu giá trị phép tính cuối cùng
Tham số mặc định là mutable thì phải cẩn thận
Điều này đã được nhắc nhiều khi nói đến "Idiomatic Python"
Mở một server HTTP đơn giản
So sánh theo phong cách "toán học"
Đảo ngược list
Chuyển iterable thành string
Class của Python có thể thay đổi tùy ý
Hiển thị thuộc tính của 1 đối tượng
Check dung lượng bộ nhớ mà đối tượng chiếm giữ
Đặt breakpoint để debug
Zen of Python
Tôi xin lỗi nếu bài viết có bất kỳ typo nào. Nếu bạn nhận thấy điều gì bất thường, xin hãy cho tôi biết.
Nếu có bất điều gì muốn nói, bạn có thể liên hệ với tôi qua các mạng xã hội, tạo discussion hoặc report issue trên Github.
Welcome

Xin chào. Tôi là manhhomienbienthuy, nickname khác là naa. Đây là thế giới của tôi, chào mừng đến với thế giới của tôi…
Bài viết liên quan
Bài viết mới
Chuyên mục
Lưu trữ theo năm
Câu nói yêu thích
There's a big difference between knowing the name of something and knowing something.
– Richard P. Feynman –
Thông tin liên hệ
Cảm ơn bạn đã quan tâm blog của tôi. Nếu có bất điều gì muốn nói, bạn có thể liên hệ với tôi qua các mạng xã hội, tạo discussion hoặc report issue trên Github.