아니면 다른 변수들은 지역변수에 비해 얼마나 나쁜가요?
무슨 일이 있나요?
일부 기사에서는 Python 프로그래머에게 지역 변수를 많이 사용하게 된다면 참조만 하고 변경하지 않더라도 지역 변수를 사용하라고 조언합니다.
예를 들어, 다음은 "Making Python Programs Blazing Fast"의 두 인용문입니다.
"실제로 함수의 로컬 변수(가장 빠름), 클래스 수준 속성(예: self.name - 느림) 및 전역(예: time.time과 같은 가져온 함수(가장 느림)) 간에도 조회 속도에 차이가 있습니다. ."
"속성에 접근하지 마세요
프로그램 속도를 저하시킬 수 있는 또 다른 요인은 객체 속성에 액세스할 때 사용되는 도트 연산자(.)입니다. 이 연산자는 getattribute를 사용하여 사전 조회를 트리거하며, 이로 인해 코드에 추가 오버헤드가 발생합니다. "
또한 이것이 유일한 가능성은 아닙니다. 다음의 차이점은 무엇입니까?
1,000,000번 반복되는 루프 내에서 이러한 모든 항목을 사용하여 테스트했지만 내부 반복당 작업은 최소화되었습니다. 함수는 클래스 외부의 함수에 대한 함수 속성을 테스트하는 데 사용되는 함수를 제외하고 모두 클래스의 메서드였습니다.
일반적인 기능의 형식은 다음과 같습니다.
모든 코드는 포스팅 하단에 있습니다.
설명:
성능을 비교할 때 항상 Km당 리터 또는 계산당 초가 아닌 갤런당 마일 또는 초당 계산과 같은 (업적/자원)을 비교하십시오.
네, 지역 변수가 가장 빠릅니다.
세 가지 그룹으로 분류된 다양한 유형의 변수의 성능
놀랍게도 상식과 비교할 때 전역은 클래스의 슬롯 인스턴스 속성보다 두 번째로 우수합니다. 또 놀라운 점은 메소드 속성이 최악이라는 점입니다.
위 내용은 전역, 속성 또는 슬롯에 비해 Python 지역 변수가 얼마나 더 좋습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!