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

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

1. Sắp xếp các đối tượng theo các key đa dạng


Giả sử chúng ta muốn sắp xếp danh sách dictionary sau đây:


sắp xếp danh sách dictionary

Trong trường hợp không chỉ muốn sắp xếp nó theo tên hoặc tuổi mà muốn sắp xếp nó theo cả hai lĩnh vực. Trong SQL, đây sẽ là một truy vấn như sau:


select from people order by name age

Python có một giải pháp rất đơn giản để đảm bảo rằng các hàm sắp xếp theo một thứ tự ổn định, các items bằng nhau và giữ lại thứ tự ban đầu của chúng. Để sắp xếp theo tên và tuổi, chúng ta có thể làm điều này:


import operator

Hãy chú ý cách đảo ngược thứ tự. Đầu tiên, chúng ta sẽ sắp xếp theo độ tuổi, sau đó là theo tên. Với operator.itemgetter(), chúng ta sẽ có được các mục tuổi và tên từ mỗi từ điển trong danh sách một cách ngắn gọn. Kết quả như sau:


các mục tuổi và tên từ mỗi từ điển trong danh sách

Theo cách này, tên sẽ được ưu tiên sắp xếp trước, sau đó sẽ đến tuổi nếu tên giống nhau. Nhờ vậy, “John” được gom vào thành nhóm và sẽ sắp xếp theo tuổi.


2. Danh sách bao quát


Một danh sách bao quát có thể thay thế cho những loop dùng để điền vào danh sách. Cú pháp cơ bản cho danh sách bao quát là:


Danh sách bao quát

Một ví dụ cơ bản về điền vào danh sách với một chuỗi các số:

Ngoài việc có thể sử dụng một biểu thức, bạn cũng có thể thực hiện một số phép toán:


thực hiện một số phép toán

Bởi vì bạn có thể sử dụng một biểu thức, bạn cũng có thể thực hiện một số phép toán:


thực hiện một số phép toán

Hoặc có thể gọi một chức năng bên ngoài:


chức năng bên ngoài

Cuối cùng, bạn có thể sử dụng "if" để lọc danh sách. Trong trường hợp này, chúng tôi chỉ giữ các giá trị được chia cho 2:


sử dụng "if" để lọc danh sách

3. Kiểm tra bộ nhớ sử dụng của các đối tượng


Bạn có thể kiểm tra mức sử dụng bộ nhớ của một đối tượng bằng sys.getsizeof () :


kiểm tra mức sử dụng bộ nhớ

Range function chỉ trả về một class hoạt động như một danh sách. Một miền giá trị có hiệu quả bộ nhớ cao hơn nhiều so với việc sử dụng danh sách số thực tế.


Bằng cách sử dụng một danh sách bao quát để tạo một danh sách thực tế các số từ cùng một phạm vi:


sử dụng một danh sách bao quát để tạo một danh sách thực tế

Nhờ sys.getsizeof(), bạn có thể tìm hiểu thêm về Python và việc sử dụng bộ nhớ.


4. Data classes


Từ phiên bản 3.7, Python cung cấp data classes. Có một số lợi thế so với các class thông thường hoặc các lựa chọn thay thế khác như trả về nhiều giá trị hoặc dictionaries:


- Một data class yêu cầu một lượng code tối thiểu


- So sánh các lớp dữ liệu vì __eq__ được triển khai


- In một data class để gỡ lỗi vì __repr__ cũng được triển khai


- Data classes yêu cầu gợi ý, giảm khả năng lỗi


Một ví dụ về data class:


Data classes

(còn nữa)

Nguồn: tổng hợp

Hình ảnh: tổng hợp

Có thể bạn quan tâm: 5 KỸ THUẬT” KHẮC CỐT GHI TÂM” CỦA DÂN IT VỀ PYTHON

-------------------------------

JT1 - IT Recruitment Agency

Website: https://www.jt1.vn

Email: hi@jt1.vn

Điện thoại: +8428 6675 6685

Xem thêm các bài viết khác tại: https://www.jt1.vn/blog

Theo dõi chúng tôi tại: https://www.facebook.com/jt1asia/