%Prune Python

Python là ngôn ngữ lập trình đã trở nên phổ biến rộng rãi — nhưng sự phổ biến này bắt nguồn từ khả năng đọc và dễ sử dụng của nó hơn là hiệu năng thô. Do đó, đôi khi việc tối ưu hóa hiệu suất trong Python thậm chí còn quan trọng hơn so với các ngôn ngữ khác. Hồ sơ là một công cụ có thể giúp các nhà phát triển thực hiện điều này

Các lệnh ma thuật đã trở thành yếu tố chính cho mọi người sử dụng sổ ghi chép khoa học dữ liệu. Thông qua việc mở rộng chức năng của mỗi sổ ghi chép, họ hướng đến mục tiêu làm việc trên sổ ghi chép hiệu quả hơn. Một số lệnh ma thuật này, chẳng hạn như phép thuật %time in ra thời gian của CPU và đồng hồ treo tường, đã trở nên khá phổ biến trong khi những lệnh khác hầu như không được chú ý. Thay vì giới thiệu lại tất cả các lệnh ma thuật phổ biến nhất, bài viết này sẽ nêu bật các lệnh ma thuật ít được biết đến hơn có thể mang lại giá trị to lớn cho bất kỳ môi trường iPython nào

Mã hồ sơ với %%prun

Mặc dù các lệnh ma thuật được biết đến nhiều hơn là %time%timeit cung cấp một số thông tin về thời gian của CPU và đồng hồ treo tường cho mã Python, nhưng chúng không thể phân tích phần nào của mã mất bao lâu để thực thi, khiến việc gỡ lỗi các ô có nhiều lệnh gọi hàm trở nên tẻ nhạt hơn. %prun [chế độ dòng] và %%prun [chế độ ô] chạy mã thông qua trình lược tả của Python và cung cấp thông tin chi tiết về thời gian thực hiện mỗi lệnh gọi hàm

%%ví dụ cắt bớt;

Thay vì chỉ hiển thị tổng thời gian chạy ô, %%prun nêu chi tiết cả tần suất một hàm được gọi và thời gian các lệnh gọi này chạy trong bao lâu. Trong ví dụ trên, hai chức năng được gọi là. Tuy nhiên, một trong các chức năng mất nhiều thời gian hơn đáng kể để chạy hơn các chức năng khác. Lệnh ma thuật%%prun cho thấy rằng firstFunction[] chạy cho 0. 722 giây trong khi secondFunction[] chỉ mất 0. 007 giây để thực hiện

Xem nhanh các tệp với %more

Sau khi tải tệp xuống, làm việc với sổ ghi chép thường buộc người dùng phải mở tệp trong một trình soạn thảo văn bản riêng biệt để xác định trình giữ chỗ có dấu phân cách, định dạng ngày hoặc giá trị null nào đã được sử dụng. Lệnh ma thuật %more cho phép người dùng tập trung trong môi trường máy tính xách tay của họ và kiểm tra các tệp trong khi viết mã

% ví dụ khác;

Mặc dù %more không giả sử tệp thuộc bất kỳ loại cụ thể nào, nhưng %time1 giả sử tệp là tệp Python và cũng cung cấp đánh dấu cú pháp. Điều đáng chú ý là %time1 chấp nhận cả đường dẫn tệp và URL

Gỡ lỗi tương tác với %%debug

Mặc dù in dường như vẫn là một trong những phương pháp gỡ lỗi được sử dụng nhiều nhất trong sổ ghi chép, nhưng Python đã đi kèm với một trình gỡ lỗi mạnh mẽ hơn nhiều. Lệnh ma thuật %time3 cho phép người dùng sử dụng trình gỡ lỗi pdb của Python một cách tương tác và tìm lỗi nhanh hơn

%% ví dụ gỡ lỗi;

Trong ví dụ trên, trình sửa lỗi của Python cho phép thực hiện từng bước hàm %time4 bằng cách sử dụng lệnh %time5. Sau khi gặp %time6, lệnh %time7 liệt kê tất cả các đối số được sử dụng trong lệnh gọi hàm hiện tại và cho thấy rằng tham số %time8 đang gây ra ngoại lệ

Đã sửa các cuộc gọi chức năng với %autocall

Khi tốc độ là điều duy nhất quan trọng, việc bật gọi tự động bằng cách sử dụng %time9 có thể giúp tăng tốc độ tạo mẫu đáng kể. Khi chế độ gọi tự động được đặt thành 'Thông minh', người dùng máy tính xách tay không còn cần chuyển các tham số chức năng trong dấu ngoặc đơn. Sử dụng chức năng từ ví dụ %time3 ở trên, autocall cho phép người dùng gọi chức năng bằng cách sử dụng %timeit1 thay vì %timeit2

ví dụ về % cuộc gọi tự động;

Mặc dù autocall cho phép tạo nguyên mẫu nhanh hơn, nhưng điều quan trọng cần lưu ý là nó có thể làm giảm khả năng đọc mã được tạo

Tóm lược

Các lệnh ma thuật là công cụ tuyệt vời để tăng năng suất khi làm việc với sổ ghi chép khoa học dữ liệu và khả năng của chúng vượt xa những gì người ta có thể mong đợi. Mặc dù bốn lệnh ma thuật trong bài viết này đã có thể giúp tăng năng suất rất nhiều, nhưng lệnh ma thuật nào hữu ích nhất thường phụ thuộc vào người dùng và trường hợp sử dụng cụ thể hiện có. May mắn thay, thậm chí còn có một lệnh kỳ diệu giúp người dùng thử nghiệm các lệnh kỳ diệu mà không cần rời khỏi môi trường sổ ghi chép trong %timeit3. Ngoài ra, tài liệu iPython nêu chi tiết tất cả các tùy chọn có sẵn cho các lệnh ma thuật cũng như cách mở rộng hệ sinh thái bằng cách xây dựng các lệnh ma thuật tùy chỉnh

nguồn

[1] “Các lệnh ma thuật tích hợp. ” IP Python 7. 26. 0 tài liệu. Truy cập ngày 8 tháng 8 năm 2021. https. //ipython. đọcthedocs. io/en/ổn định/tương tác/ma thuật. HTML

[2] “Pdb — Trình gỡ lỗi Python. ” Trăn 3. 9. 6 tài liệu. Truy cập ngày 8 tháng 8 năm 2021. https. // tài liệu. con trăn. org/3/library/pdb. HTML

%prun trong python là gì?

prun là ứng dụng tiện lợi để làm việc với môi trường ảo . Sử dụng prune trong cấu trúc thư mục có thư mục môi trường ảo để tự động làm việc với python của môi trường ảo. Đầu tiên, tạo một môi trường ảo cục bộ trong. thư mục venv. Điều này có thể được thực hiện bằng gói virtualenv.

Làm cách nào để sử dụng cProfile trong python 3?

Cú pháp là cProfile. chạy[câu lệnh, tên tệp=Không, sắp xếp=-1] . Bạn có thể chuyển mã python hoặc tên hàm mà bạn muốn cấu hình dưới dạng chuỗi vào đối số câu lệnh. Nếu bạn muốn lưu đầu ra trong một tệp, nó có thể được chuyển đến đối số tên tệp.

Lệnh ma thuật trong python là gì?

Các lệnh ma thuật hay phép thuật là các lệnh tiện dụng được tích hợp trong nhân IPython giúp dễ dàng thực hiện các tác vụ cụ thể , ví dụ: tương tác các khả năng của Python với hệ điều hành, ngôn ngữ lập trình khác hoặc nhân. IPython cung cấp hai loại ma thuật. ma thuật dòng và ma thuật tế bào.

cProfile trong python là gì?

cHồ sơ và hồ sơ cung cấp hồ sơ xác định của các chương trình Python . Hồ sơ là một tập hợp các số liệu thống kê mô tả tần suất và thời lượng các phần khác nhau của chương trình được thực thi. Những số liệu thống kê này có thể được định dạng thành các báo cáo thông qua mô-đun pstats.

Chủ Đề