무료 학습 추천: python 비디오 튜토리얼
모든 프로그래밍 언어의 고급 기능은 일반적으로 많은 경험을 통해 발견됩니다. 복잡한 프로젝트를 진행하면서 stackoverflow에 대한 질문에 대한 답을 찾고 있다고 가정해 보겠습니다. 그러다가 갑자기 존재조차 몰랐던 Python 기능을 사용하는 매우 우아한 솔루션을 발견하게 됩니다!
이 학습 방법은 정말 재미있습니다. 탐색을 통해 우연히 무언가를 발견하게 됩니다.
다음은 Python의 5가지 고급 기능과 사용법입니다.
Lambda 함수
Lambda 함수는 상대적으로 작은 익명 함수입니다. 익명이란 실제로 함수 이름이 없다는 의미입니다.
Python 함수는 일반적으로 def a_function_name() 스타일을 사용하여 정의되지만 람다 함수의 경우 이름을 전혀 지정하지 않습니다. 이는 람다 함수의 기능이 함수를 완전히 정의하지 않고 간단한 표현식이나 연산을 수행하는 것이기 때문입니다.
람다 함수는 인수를 여러 개 사용할 수 있지만 표현식에는 하나만 가질 수 있습니다.
얼마나 쉬운지 보세요! 우리는 전체 함수를 정의하지 않고 몇 가지 간단한 수학 연산을 수행했습니다. 이는 Python을 깨끗하고 간단한 프로그래밍 언어로 만드는 많은 기능 중 하나입니다.
Map 함수
Map()은 목록이나 사전과 같은 다양한 데이터 구조의 요소에 함수를 적용할 수 있는 내장 Python 함수입니다. 이는 이 작업을 수행하는 매우 깔끔하고 읽기 쉬운 방법입니다.
필터 기능
필터 내장 기능은 맵 기능과 매우 유사하며 시퀀스 구조(리스트, 튜플, 사전)에도 기능을 적용합니다. 둘 사이의 주요 차이점은 filter()가 적용된 함수가 True를 반환하는 요소만 반환한다는 것입니다.
자세한 내용은 아래 예를 참조하세요
각 목록 요소를 True 또는 False로 평가할 뿐만 아니라 filter() 함수는 True와 일치하는 요소만 반환되도록 보장합니다. 표현식을 확인하고 반환 목록을 작성하는 두 단계를 처리하는 것이 매우 편리합니다.
Itertools 모듈
Python의 Itertools 모듈은 반복자 작업을 위한 도구 모음입니다. 반복자는 목록, 튜플 및 사전을 포함하여 for 루프 문에서 사용할 수 있는 데이터 유형입니다.
Itertools 모듈의 기능을 사용하면 여러 줄 함수와 복잡한 목록 이해가 필요한 많은 반복자 작업을 수행할 수 있습니다. Itertools의 마법에 대해 다음 예를 살펴보십시오.
Generator 함수
Generator 함수는 반복자와 유사한 함수입니다. 즉 for 루프 문에서도 사용할 수 있습니다. 이는 간단한 for 루프에 비해 코드를 크게 단순화하고 많은 메모리를 절약합니다.
예를 들어 1부터 1000까지의 모든 숫자를 더하려고 하면 다음 코드 블록의 첫 번째 부분에서는 for 루프를 사용하여 이 계산을 수행하는 방법을 보여줍니다.
목록이 1000행 정도로 작다면 계산에 필요한 메모리는 괜찮습니다. 그러나 목록이 10억 개의 부동 소수점 숫자와 같이 거대하다면 문제가 발생할 수 있습니다. 이러한 종류의 for 루프를 사용하면 메모리에 거대한 목록이 있지만 모든 사람이 그렇게 많은 것을 저장할 수 있는 무제한 RAM을 갖고 있는 것은 아닙니다. Python의 range() 함수도 동일한 작업을 수행합니다. 즉, 메모리에 목록을 작성합니다.
코드의 두 번째 부분에서는 Python 생성기 함수를 사용하여 숫자 목록을 합산하는 방법을 보여줍니다. 생성기 함수는 요소를 생성하고 필요한 경우에만, 즉 한 번에 하나씩 메모리에 저장합니다. 이는 10억 개의 부동 소수점 숫자를 생성한다면 한 번에 하나씩만 메모리에 저장할 수 있다는 것을 의미합니다! Python 2.x의 xrange() 함수는 생성기를 사용하여 목록을 만듭니다.
위의 예는 다음과 같습니다. 넓은 범위에 대한 목록을 생성하려면 생성기 기능을 사용해야 합니다. 이 접근 방식은 모바일 장치나 엣지 컴퓨팅과 같이 메모리가 제한된 경우에 특히 중요합니다.
즉, 목록을 여러 번 반복하고 싶고 메모리에 들어갈 만큼 작은 경우 Python 2.x에서 for 루프나 range 함수를 사용하는 것이 좋습니다. 생성기 함수와 xrange 함수는 액세스할 때마다 새로운 목록 값을 생성하기 때문에 Python 2.x 범위 함수는 정적 목록이며 빠른 액세스를 위해 정수가 이미 메모리에 배치되어 있습니다.
Python 개발, 크롤러 기술, Python 데이터 분석, 인공 지능 및 기타 기술을 더 쉽게 배우고 싶은 초보자를 위해 Python 소개부터 실습까지 학습 자료 세트도 무료로 제공됩니다.
관련 무료 학습 권장 사항: python 튜토리얼(동영상)
위 내용은 파이썬 효율성을 향상시키는 5가지 고급 사용법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!