Hướng dẫn how do i make my python script run faster? - làm cách nào để làm cho tập lệnh python của tôi chạy nhanh hơn?

Hướng dẫn how do i make my python script run faster? - làm cách nào để làm cho tập lệnh python của tôi chạy nhanh hơn?

Hình ảnh của BRGFX trên Freepik & NBSP;

 

Python là một trong những ngôn ngữ lập trình phổ biến nhất trong số các nhà phát triển. Nó được sử dụng ở mọi nơi, cho dù đó là phát triển web hay học máy.

Có nhiều lý do cho sự phổ biến của nó, chẳng hạn như hỗ trợ cộng đồng, các thư viện tuyệt vời, cách sử dụng rộng rãi trong học máy và dữ liệu lớn, và cú pháp dễ dàng của nó.

Mặc dù có nhiều phẩm chất này, Python có một nhược điểm, đó là tốc độ chậm. Là một ngôn ngữ được giải thích, Python chậm hơn các ngôn ngữ lập trình khác. Tuy nhiên, chúng ta có thể khắc phục vấn đề này bằng một số mẹo.

Trong bài viết này, tôi sẽ chia sẻ một số thủ thuật Python bằng cách sử dụng mà chúng ta có thể làm cho mã Python của chúng ta chạy nhanh hơn bình thường. Bắt đầu nào!

1. Thuật toán và cấu trúc dữ liệu thích hợp

Mỗi cấu trúc dữ liệu có ảnh hưởng đáng kể đến thời gian chạy. Có nhiều cấu trúc dữ liệu tích hợp như danh sách, tuple, bộ và từ điển trong Python. Hầu hết mọi người sử dụng cấu trúc dữ liệu danh sách trong mọi trường hợp.

Trong Python, các bộ và từ điển có hiệu suất tra cứu O (1) khi chúng sử dụng các bảng băm cho điều đó. Bạn có thể sử dụng các bộ và từ điển thay vì danh sách trong các trường hợp sau:

  • Bạn không có các mục trùng lặp trong bộ sưu tập.
  • Bạn cần tìm kiếm các mục liên tục trong bộ sưu tập.
  • Bộ sưu tập chứa một số lượng lớn các mặt hàng.

Bạn có thể thấy độ phức tạp về thời gian của các cấu trúc dữ liệu khác nhau trong Python ở đây:

Độ phức tạp về thời gian thông qua Python Wiki Trang này ghi lại tính phức tạp về thời gian (hay còn gọi là "Big O" hoặc "Big OH") của các hoạt động khác nhau trong CPython hiện tại ...
This page documents the time-complexity (aka "Big O" or "Big Oh") of various operations in current CPython...

2. Sử dụng các chức năng và thư viện tích hợp

& nbsp; Các chức năng tích hợp Python, là một trong những cách tốt nhất để tăng tốc mã của bạn. Bạn phải sử dụng các chức năng Python tích hợp bất cứ khi nào cần thiết. Các chức năng tích hợp này được thử nghiệm và tối ưu hóa tốt.
Python’s built-in functions are one of the best ways to speed up your code. You must use built-in python functions whenever needed. These built-in functions are well tested and optimized.

Lý do các chức năng tích hợp này nhanh là các hàm tích hợp Python, như Min, Max, All, Map, v.v., được thực hiện bằng ngôn ngữ C.

Bạn nên sử dụng các chức năng tích hợp này thay vì viết các chức năng thủ công sẽ giúp bạn thực hiện mã của mình nhanh hơn.

Example:

newlist = []

for word in wordlist:
    newlist.append(word.upper())

Một cách tốt hơn để viết mã này là:

newlist = map(str.upper, wordlist)

Ở đây chúng tôi đang sử dụng chức năng bản đồ tích hợp, được viết bằng C. Do đó, nó nhanh hơn nhiều so với sử dụng vòng lặp.map function, which is written in C. Therefore, it is much faster than using a loop.

3. Sử dụng nhiều bài tập

& nbsp; Nếu bạn muốn gán các giá trị của nhiều biến, thì không gán chúng theo từng dòng. Python có một cách thanh lịch và tốt hơn để gán nhiều biến.
If you want to assign the values of multiple variables, then do not assign them line by line. Python has an elegant and better way to assign multiple variables.

Example:

firstName = "John"
lastName = "Henry"
city = "Manchester"

Một cách tốt hơn để gán các biến này là:

firstName, lastName, city = "John", "Henry", "Manchester"

Việc gán các biến này sạch hơn và thanh lịch hơn nhiều so với các biến trên.

4. Thích danh sách hiểu hơn các vòng

& nbsp; Danh sách hiểu là một cách thanh lịch và tốt hơn để tạo một danh sách mới dựa trên các yếu tố của một danh sách hiện có chỉ trong một dòng mã duy nhất.
List comprehension is an elegant and better way to create a new list based on the elements of an existing list in just a single line of code.

Danh sách hiểu được coi là một cách pythonic hơn để tạo một danh sách mới hơn là xác định một danh sách trống và thêm các yếu tố vào danh sách trống đó.

Một lợi thế khác của sự hiểu biết danh sách là nó nhanh hơn so với sử dụng phương thức phụ trợ để thêm các phần tử vào danh sách Python.

Example:

Sử dụng Danh sách Phương pháp nối tiếp:

newlist = []
for i in range(1, 100):
    if i % 2 == 0:
        newlist.append(i**2)

Một cách tốt hơn khi sử dụng danh sách hiểu biết:

newlist = [i**2 for i in range(1, 100) if i%2==0]

Mã trông sạch hơn khi sử dụng toàn bộ danh sách.

5. Nhập khẩu thích hợp

& nbsp; Bạn nên tránh nhập các mô -đun và thư viện không cần thiết cho đến khi và trừ khi bạn cần chúng. Bạn có thể chỉ định tên mô -đun thay vì nhập thư viện hoàn chỉnh.
You should avoid importing unnecessary modules and libraries until and unless you need them. You can specify the module name instead of importing the complete library.

Nhập các thư viện không cần thiết sẽ dẫn đến việc làm chậm hiệu suất mã của bạn.

Example:

Giả sử bạn cần tìm ra căn bậc hai của một số. Thay vì điều này:

import math
value = math.sqrt(50)

Dùng cái này:

from math import sqrt
value = sqrt(50)

6. Concatenation chuỗi

& nbsp; Trong Python, chúng tôi nối các chuỗi bằng toán tử ‘++. Nhưng một cách khác để kết hợp các chuỗi trong Python là sử dụng phương thức tham gia.
In python, we concatenate strings using the ‘+’ operator. But another way to concatenate the strings in python is using the join method.

Phương pháp tham gia là một cách pythonic hơn để nối các chuỗi, và nó cũng nhanh hơn so với các chuỗi nối với toán tử ‘++.

Lý do tại sao phương thức tham gia () nhanh hơn là toán tử ‘++tạo ra một chuỗi mới và sau đó sao chép chuỗi cũ ở mỗi bước, trong khi phương thức tham gia () không hoạt động theo cách đó.+’ operator creates a new string and then copies the old string at each step, whereas the join() method does not work that way.

Example:

output = "Programming" + "is" + "fun

Sử dụng Phương pháp Tham gia:

output = " ".join(["Programming" , "is", "fun"])

Đầu ra của cả hai phương thức sẽ giống nhau. Sự khác biệt duy nhất là phương thức tham gia () nhanh hơn toán tử ‘++.

Sự kết luận

& nbsp; Đó là tất cả từ bài viết này. Trong bài viết này, chúng tôi đã thảo luận về một số thủ thuật có thể được sử dụng để làm cho mã của bạn chạy nhanh hơn. Những lời khuyên này có thể được sử dụng đặc biệt là với chương trình cạnh tranh trong đó giới hạn thời gian là tất cả.
That’s all from this article. In this article, we have discussed some tricks that can be used to make your code run faster. These tips can be used especially with competitive programming where the time limit is everything.

Tôi hy vọng bạn thích bài viết này. Cảm ơn vì đã đọc!

& nbsp; Pralabh Saxena là một nhà phát triển phần mềm với 1 năm kinh nghiệm. Pralabh viết các bài báo về các chủ đề như Python, học máy, khoa học dữ liệu và SQL.Pralabh Saxena is a software developer with 1 year of experience. Pralabh writes articles on topics such as Python, Machine Learning, Data Science, and SQL.

Làm thế nào tôi có thể tăng tốc mã Python của mình?

Tài liệu nền tảng nhận dạng Loginradius..
Một vài cách để tăng tốc mã Python của bạn ..
Sử dụng cấu trúc dữ liệu thích hợp ..
Giảm sử dụng cho vòng lặp ..
Sử dụng danh sách hiểu ..
Sử dụng nhiều bài tập ..
Không sử dụng các biến toàn cầu ..
Sử dụng chức năng thư viện ..
Chuỗi Concatenate với tham gia ..

Tại sao các kịch bản Python lại chậm như vậy?

Không giống như các ngôn ngữ lập trình phổ biến khác bao gồm C# hoặc Java, Python được gõ động và ngôn ngữ được giải thích.Nó chậm chủ yếu do tính chất năng động và tính linh hoạt của nó.primarily due to its dynamic nature and versatility.