찾다
백엔드 개발파이썬 튜토리얼지식을 새롭게 해보세요! 나는 Python 프로그램을 항상 느리게 만드는 여섯 가지 나쁜 습관을 사용합니다!

이 글에서는 Python 작성 방법의 6가지 예를 요약했습니다.

1. 루트 모듈을 가져오지 마세요

Python을 사용할 때 피할 수 없는 한 가지는 내장 모듈이든 타사 모듈이든 모듈을 가져오는 것입니다. 때로는 모듈에서 하나 또는 몇 개의 함수나 객체만 필요할 수도 있습니다. 이 경우 루트 모듈을 가져오는 대신 필요한 함수나 객체만 가져오도록 노력해야 합니다.

이것은 간단한 예입니다. 프로그램에서 일부 숫자의 제곱근을 계산해야 한다고 가정해 보겠습니다.

느린 예

지식을 새롭게 해보세요! 나는 Python 프로그램을 항상 느리게 만드는 여섯 가지 나쁜 습관을 사용합니다!

나쁜 예에서는 수학 모듈을 가져오고 math.sqrt()를 사용하여 함수에 액세스했습니다. 물론 문제는 없지만 sqrt() 함수를 가져올 수 있다면 성능이 더 좋아질 것입니다.

더 빠른 예

지식을 새롭게 해보세요! 나는 Python 프로그램을 항상 느리게 만드는 여섯 가지 나쁜 습관을 사용합니다!지식을 새롭게 해보세요! 나는 Python 프로그램을 항상 느리게 만드는 여섯 가지 나쁜 습관을 사용합니다!

2. 도트/도트 체인 사용을 피하세요

도트를 사용하는 것은 매우 직관적입니다. Python에서 개체의 속성이나 기능에 액세스합니다. 대부분의 경우에는 문제가 없습니다. 그러나 점을 사용하지 않거나 점을 연결하는 것조차 피할 수 있다면 성능은 실제로 더 좋아질 것입니다.

아래 예에서는 목록에 숫자를 추가한 다음 제거하는 방법을 보여줍니다.

더 느린 예

지식을 새롭게 해보세요! 나는 Python 프로그램을 항상 느리게 만드는 여섯 가지 나쁜 습관을 사용합니다!지식을 새롭게 해보세요! 나는 Python 프로그램을 항상 느리게 만드는 여섯 가지 나쁜 습관을 사용합니다!

더 빠른 예

지식을 새롭게 해보세요! 나는 Python 프로그램을 항상 느리게 만드는 여섯 가지 나쁜 습관을 사용합니다!지식을 새롭게 해보세요! 나는 Python 프로그램을 항상 느리게 만드는 여섯 가지 나쁜 습관을 사용합니다!

이것이 실제로 동일한 일을 한다고 믿지 않는다면 검증해 볼 수 있습니다.

지식을 새롭게 해보세요! 나는 Python 프로그램을 항상 느리게 만드는 여섯 가지 나쁜 습관을 사용합니다!

많은 Python 개발자가 뛰어내려 이 예제의 기술이 좀 우스꽝스럽다고 말할 것으로 예상됩니다. 사실 나 자신도 위와 같은 코드를 작성하는 경우는 거의 없다. 그러나 이런 방식으로 프로그래밍할 수 있고 심지어 더 빠르게 만들 수도 있다는 것을 아는 것은 좋은 일입니다.

목록에 수백만 번 추가하고 항목을 제거하려면 아마도 이 트릭을 사용하는 것을 고려해야 할 것입니다. 이것이 바로 우리가 코드의 성능과 가독성의 균형을 맞춰야 하는 이유입니다.

3. 문자열을 연결하는 데 +를 사용하지 마세요.

문자열은 Python에서 변경할 수 없습니다. 따라서 "+"를 사용하여 여러 문자열을 하나의 긴 문자열로 연결하면 각 하위 문자열이 개별적으로 작동됩니다.

느린 예

지식을 새롭게 해보세요! 나는 Python 프로그램을 항상 느리게 만드는 여섯 가지 나쁜 습관을 사용합니다!

특히 각 하위 문자열에 대해 메모리 주소를 요청한 다음 이를 해당 메모리 주소의 원래 문자열과 연결해야 하며 이는 오버헤드가 됩니다.

더 빠른 예

지식을 새롭게 해보세요! 나는 Python 프로그램을 항상 느리게 만드는 여섯 가지 나쁜 습관을 사용합니다!

그러나 Join() 함수를 사용하면 함수는 모든 하위 문자열을 미리 알고 최종 조인된 문자열에 맞는 길이로 메모리 주소를 할당합니다. 따라서 각 하위 문자열에 메모리를 할당하는 오버헤드가 없습니다.

가능하면 Join() 함수를 사용하는 것이 좋습니다. 그러나 때로는 두 개의 문자열을 연결하고 싶을 수도 있습니다. 아니면 편의상 "+"를 사용하고 싶습니다. 이러한 경우 "+" 기호를 사용하면 가독성이 향상되고 코드 길이가 줄어듭니다.

4. 값 교환을 위해 임시 변수를 사용하지 마세요

많은 알고리즘에서는 두 변수의 값 교환이 필요합니다. 대부분의 다른 프로그래밍 언어에서는 일반적으로 아래와 같이 임시 변수를 도입하여 이를 수행합니다.

느린 예

지식을 새롭게 해보세요! 나는 Python 프로그램을 항상 느리게 만드는 여섯 가지 나쁜 습관을 사용합니다!

빠른 예

하지만 Python에서는 임시 변수를 사용할 필요가 없습니다. Python에는 아래와 같이 이 값 교환을 구현하는 내장 구문이 있습니다.

지식을 새롭게 해보세요! 나는 Python 프로그램을 항상 느리게 만드는 여섯 가지 나쁜 습관을 사용합니다!

5. If-조건을 사용하여 단락

"단락" 평가는 많은 프로그래밍 언어에 존재하며 Python도 마찬가지입니다. 기본적으로 이는 첫 번째 인수가 전체 표현식의 값을 결정하는 데 충분하지 않은 경우에만 두 번째 인수가 실행되거나 평가되는 특정 부울 연산자의 동작을 나타냅니다.

예를 들어 이를 보여드리겠습니다. 다음과 같은 목록이 있다고 가정해 보겠습니다.

my_dict = [
{
'name': 'Alice',
'age': 28
},
{
'name': 'Bob',
'age': 23
},
{
'name': 'Chris',
'age': 33
},
{
'name': 'Chelsea',
'age': 2
},
{
'name': 'Carol',
'age': 24
}
]

우리의 임무는 목록을 필터링하여 이름이 "C"로 시작하고 나이가 30세 이상인 모든 사람을 찾는 것입니다.

느린 예

동시에 충족해야 하는 두 가지 조건이 있습니다.

  • 이름은 "C"로 시작합니다.
  • Age ≥ 30 따라서 다음 코드를 작성할 수 있습니다.

지식을 새롭게 해보세요! 나는 Python 프로그램을 항상 느리게 만드는 여섯 가지 나쁜 습관을 사용합니다!

빠른 예제

이전 예제의 코드에는 아무런 문제가 없습니다. 그러나 이 특정한 가상의 예에서는 "Chris"만이 30세 이상입니다.

먼저 이름 확인 조건을 작성하면 세 명의 이름(Chris, Chelsea, Carol)이 충족됩니다. 연령에 관한 두 번째 조건은 3명의 개인 모두에 대해 다시 확인됩니다.

단, 단락 평가로 인해 연령 조건을 먼저 작성하면 크리스의 나이만 30세 이상이 되며, 이름이 "C"로 시작하는지 다시 확인하게 됩니다.

지식을 새롭게 해보세요! 나는 Python 프로그램을 항상 느리게 만드는 여섯 가지 나쁜 습관을 사용합니다!

이 경우에는 거의 100% 더 빠릅니다.

6. For 루프를 사용할 수 있다면 While 루프를 사용하지 마세요

파이썬은 성능 향상을 위해 C, 즉 CPython을 많이 사용합니다. 루프 문과 관련하여 Python의 For-Loop에는 상대적으로 적은 단계가 있으며 그 중 더 많은 단계가 While-Loop보다 C 코드로 실행됩니다.

그러므로 Python에서는 For-Loop를 사용할 수 있지만 while 루프는 사용하면 안 됩니다. 이는 Python에서 For-Loop가 더 우아할 뿐만 아니라 성능도 더 좋기 때문입니다.

느린 예

지식을 새롭게 해보세요! 나는 Python 프로그램을 항상 느리게 만드는 여섯 가지 나쁜 습관을 사용합니다!

빠른 예

지식을 새롭게 해보세요! 나는 Python 프로그램을 항상 느리게 만드는 여섯 가지 나쁜 습관을 사용합니다!

위 내용은 지식을 새롭게 해보세요! 나는 Python 프로그램을 항상 느리게 만드는 여섯 가지 나쁜 습관을 사용합니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 51CTO.COM에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
파이썬 어레이에서 수행 할 수있는 일반적인 작업은 무엇입니까?파이썬 어레이에서 수행 할 수있는 일반적인 작업은 무엇입니까?Apr 26, 2025 am 12:22 AM

PythonArraysSupportVariousOperations : 1) SlicingExtractsSubsets, 2) 추가/확장 어드먼트, 3) 삽입 값 삽입 ATSpecificPositions, 4) retingdeletesElements, 5) 분류/ReversingChangesOrder 및 6) ListsompectionScreateNewListSbasedOnsistin

어떤 유형의 응용 프로그램에서 Numpy Array가 일반적으로 사용됩니까?어떤 유형의 응용 프로그램에서 Numpy Array가 일반적으로 사용됩니까?Apr 26, 2025 am 12:13 AM

NumpyArraysareSentialplosplicationSefficationSefficientNumericalcomputationsanddatamanipulation. Theyarcrucialindatascience, MachineLearning, Physics, Engineering 및 Financeduetotheiribility에 대한 handlarge-scaledataefficivally. forexample, Infinancialanyaly

파이썬의 목록 위의 배열을 언제 사용 하시겠습니까?파이썬의 목록 위의 배열을 언제 사용 하시겠습니까?Apr 26, 2025 am 12:12 AM

UseanArray.ArrayOveralistInpyThonWhendealingwithhomogeneousData, Performance-CriticalCode, OrinterFacingwithCcode.1) HomogeneousData : ArraysSaveMemorywithtypepletement.2) Performance-CriticalCode : arraysofferbetterporcomanceFornumericalOperations.3) Interf

모든 목록 작업은 배열에 의해 지원됩니까? 왜 또는 왜 그렇지 않습니까?모든 목록 작업은 배열에 의해 지원됩니까? 왜 또는 왜 그렇지 않습니까?Apr 26, 2025 am 12:05 AM

아니요, NOTALLLISTOPERATIONARESUPPORTEDBYARRARES, andVICEVERSA.1) ArraySDONOTSUPPORTDYNAMICOPERATIONSLIKEPENDORINSERTWITHUTRESIGING, WHITHIMPACTSPERFORMANCE.2) ListSDONOTEECONSTANTTIMECOMPLEXITEFORDITITICCESSLIKEARRAYSDO.

파이썬 목록에서 요소에 어떻게 액세스합니까?파이썬 목록에서 요소에 어떻게 액세스합니까?Apr 26, 2025 am 12:03 AM

ToaccesselementsInapyThonlist, 사용 인덱싱, 부정적인 인덱싱, 슬라이스, 오리 화.

어레이는 파이썬으로 과학 컴퓨팅에 어떻게 사용됩니까?어레이는 파이썬으로 과학 컴퓨팅에 어떻게 사용됩니까?Apr 25, 2025 am 12:28 AM

Arraysinpython, 특히 비밀 복구를위한 ArecrucialInscientificcomputing.1) theaRearedFornumericalOperations, DataAnalysis 및 MachinELearning.2) Numpy'SimplementationIncensuressuressurations thanpythonlists.3) arraysenablequick

같은 시스템에서 다른 파이썬 버전을 어떻게 처리합니까?같은 시스템에서 다른 파이썬 버전을 어떻게 처리합니까?Apr 25, 2025 am 12:24 AM

Pyenv, Venv 및 Anaconda를 사용하여 다양한 Python 버전을 관리 할 수 ​​있습니다. 1) PYENV를 사용하여 여러 Python 버전을 관리합니다. Pyenv를 설치하고 글로벌 및 로컬 버전을 설정하십시오. 2) VENV를 사용하여 프로젝트 종속성을 분리하기 위해 가상 환경을 만듭니다. 3) Anaconda를 사용하여 데이터 과학 프로젝트에서 Python 버전을 관리하십시오. 4) 시스템 수준의 작업을 위해 시스템 파이썬을 유지하십시오. 이러한 도구와 전략을 통해 다양한 버전의 Python을 효과적으로 관리하여 프로젝트의 원활한 실행을 보장 할 수 있습니다.

표준 파이썬 어레이를 통해 Numpy Array를 사용하면 몇 가지 장점은 무엇입니까?표준 파이썬 어레이를 통해 Numpy Array를 사용하면 몇 가지 장점은 무엇입니까?Apr 25, 2025 am 12:21 AM

Numpyarrayshaveseveraladvantagesstandardpythonarrays : 1) thearemuchfasterduetoc 기반 간증, 2) thearemorememory-refficient, 특히 withlargedatasets 및 3) wepferoptizedformationsformationstaticaloperations, 만들기, 만들기

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는