>백엔드 개발 >파이썬 튜토리얼 >내 Python 프로그램이 너무 느립니다. 어떻게 속도를 높일 수 있나요?

내 Python 프로그램이 너무 느립니다. 어떻게 속도를 높일 수 있나요?

王林
王林앞으로
2023-09-11 17:01:02737검색

내 Python 프로그램이 너무 느립니다. 어떻게 속도를 높일 수 있나요?

Python 프로그램이 너무 느린 경우 아래 제공된 팁과 요령을 따를 수 있습니다. -

추상

특히 작은 함수나 메소드의 형태로 과도한 추상화를 피하세요. 추상화는 간접적인 내용을 생성하고 해석기가 더 많은 작업을 수행하도록 하는 경향이 있습니다. 간접 참조 수준이 수행된 유용한 작업의 양을 초과하면 프로그램 속도가 느려집니다

루프 오버헤드 방지

루프 본문이 매우 단순한 경우 for 루프 자체의 인터프리터 오버헤드가 오버헤드의 큰 부분을 차지할 수 있습니다. 지도 기능이 더 잘 작동하는 곳입니다. 유일한 제한은 맵 루프 본문이 함수 호출이어야 한다는 것입니다.

Example

의 중국어 번역은 다음과 같습니다:

Example

루프 예시를 살펴보겠습니다

으아아아

오버헤드를 피하기 위해 위의 루프 대신 맵을 사용할 수 있습니다−

으아아아

목록 이해 사용

리스트 컴프리헨션을 사용하면 for 루프보다 오버헤드가 적습니다. 리스트 컴프리헨션을 사용하여 구현된 동일한 예를 살펴보겠습니다. -

으아아아

생성기 표현식

생성기 표현식은 Python 2.4에서 도입되었습니다. 이는 전체 목록을 한 번에 생성하는 오버헤드를 피하기 때문에 루프에 대한 최선의 대안으로 간주됩니다. 대신, 비트 단위로 반복할 수 있는 생성기 객체를 반환합니다. -

으아아아

지역변수

Python은 전역 변수보다 지역 변수에 더 효율적으로 액세스합니다. 위의 예제는 지역 변수 자체를 사용하여 구현할 수 있습니다 -

으아아아

Import 문 오버헤드

Import 문을 쉽게 실행할 수 있습니다. 가시성을 제한하거나 초기 시작 시간을 줄이기 위해 함수 내부에 배치하는 것이 유용한 경우가 많습니다. 경우에 따라 import 문을 반복적으로 실행하면 성능에 심각한 영향을 미칠 수 있습니다.

연결 문자열

이것은 Join을 사용하여 여러 문자열을 연결할 때 더 좋고 빠른 옵션입니다. 그러나 문자열이 많지 않은 경우에는 + 연산자를 사용하여 연결하는 것이 더 효율적입니다. 실행하는 데 시간이 덜 걸립니다. 두 가지 예를 들어 이를 살펴보겠습니다.

+ 연산자를 사용하여 여러 문자열을 연결하세요

Example

의 중국어 번역은 다음과 같습니다:

Example

이제 많은 문자열을 연결하고 시간 모듈을 사용하여 실행 시간을 확인합니다 −

으아아아

출력

으아아아

Join을 사용하여 여러 문자열을 연결하세요

Example

의 중국어 번역은 다음과 같습니다.

Example

이제 Join을 사용하여 여러 문자열을 연결하고 실행 시간을 확인합니다. 문자열이 많을 때는 연결이 더 좋고 빠른 옵션입니다 -

으아아아

출력

으으으으

위 내용은 내 Python 프로그램이 너무 느립니다. 어떻게 속도를 높일 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제