Recent Posts

banner-top-it-job-right.gif

Archive

Tags

Related Posts

8 thủ thuật Python giúp bạn chuyên nghiệp hơn (tiếp theo)

Sau đây là 8 thủ thuật Pyton được các chuyên gia ưa dùng mà bạn có thể áp dụng để giúp mã Python của mình ngắn gọn và hiệu quả hơn.

thủ thuật Python

5. The Attrs Package


Thay vì data classes, bạn có thể sử dụng attrs. Có hai lý do để chọn attrs:


- Bạn đang sử dụng phiên bản Python cũ hơn 3.7


- Bạn muốn nhiều tính năng hơn


Gói attrs hỗ trợ tất cả các phiên bản Python chính, bao gồm CPython 2.7 và PyPy. Một số attrs bổ sung được cung cấp trên các data class thông thường là trình xác nhận và trình chuyển đổi. Ví dụ:


The Attrs Package

Trên thực tế, các tác giả của attrs đã làm việc trên PEP để giới thiệu các lớp dữ liệu. Các data class được đơn giản hơn (dễ hiểu hơn), trong khi attrs cung cấp đầy đủ các tính năng bạn có thể muốn!


6. Hợp nhất các dictionary (Python 3.5+)


Từ phiên bản Python 3.5 đã dễ dàng hơn để hợp nhất dictionaries:


Hợp nhất các dictionary (Python 3.5+)

Trong trường hợp nếu các key bị chồng chéo, các key từ dictionary đầu tiên sẽ bị viết trồng lên nhau.


Trong Python 3.9, hợp nhất các dictionary trở nên gọn gàng hơn và có thể được viết lại thành:


hợp nhất các dictionary

7. Tìm giá trị thường xuyên nhất


Để tìm giá trị xảy ra thường xuyên nhất trong danh sách hoặc chuỗi:


Tìm giá trị thường xuyên nhất

- max () sẽ trả về giá trị cao nhất trong danh sách. Key argument có một hàm đối số duy nhất để tùy chỉnh thứ tự sắp xếp là test.count. Hàm được áp dụng cho từng mục trên iterable.


- test.count là một chức năng tích hợp của danh sách. Nó nhận một đối số và sẽ đếm số lần xuất hiện cho đối số đó. Vì vậy, test.count (1) sẽ trả về 2 và test.count (4) trả về 4.


- Set (test) trả về tất cả các giá trị duy nhất từ test {1, 2, 3, 4}


Vì vậy, trong dòng mã đơn này lấy tất cả các giá trị thử nghiệm duy nhất, là {1, 2, 3, 4}. Tiếp theo, max sẽ áp dụng hàm list.count cho chúng và trả về giá trị tối đa.


Cập nhật, một số bình luận đã chỉ ra một cách hiệu quả hơn để làm điều này:


from collections import counter

8. Trả về nhiều giá trị


Các hàm trong Python có thể trả về nhiều hơn một biến mà không cần dictionary, list hoặc data class. Nó hoạt động như thế này:


Trả về nhiều giá trị