작성자 별 이미지
Python은 고급 사용자라도 익숙하지 않을 수 있는 많은 개념을 포함하는 마법의 언어입니다. Dunder 또는 Magical 방법이 그중 하나입니다. 매직 메소드는 이중 밑줄로 둘러싸인 특수 메소드입니다. Python의 일반적인 메서드와 달리 명시적으로 호출되지 않습니다. 그러한 마법의 방법 중 하나는 __getitem__
메서드를 사용하면 Python 객체가 목록, 사전, 튜플과 같은 시퀀스나 컨테이너처럼 동작할 수 있습니다. 인덱스나 슬라이스를 가져와서 컬렉션에서 관련 값을 검색합니다. 사용할 때마다 자동으로 호출됩니다. indexer [ ]
연산자를 사용하여 개체 내의 요소에 액세스합니다.
이 방법을 단지 몇 줄의 코드만 작성하면 필요한 정보를 추출할 수 있는 능력을 부여하는 마술 지팡이라고 생각하십시오. 흥미롭죠? 이 방법은 데이터 분석 및 기계 학습에도 널리 사용됩니다. 그럼, 좀 더 자세히 알아보겠습니다. __getitem__
방법을 찾아보고 그 힘과 유연성을 발견해 보세요.
Python 프로그래머로서 귀하의 의무는 단순히 기능적인 코드를 작성하는 것 이상임을 이해하시기 바랍니다. 코드는 효율적이고 읽기 쉽고 유지 관리가 가능해야 합니다. 사용 __getitem__
이러한 목표를 달성하는 데 도움이 될 것입니다. 이 마법의 방법을 사용하면 다음과 같은 몇 가지 다른 이점이 있습니다.
- 전체 데이터 구조를 메모리에 로드하는 대신 필수 정보만 추출할 수 있도록 하여 메모리 사용량을 줄입니다.
- 데이터 처리 및 조작 방법에 있어 더 큰 유연성을 제공합니다.
- 데이터를 반복하지 않고 컬렉션을 반복할 수 있습니다.
- 내장 유형으로는 불가능할 수 있는 고급 인덱싱을 작성할 수 있도록 하여 기능을 향상시킵니다.
- 익숙한 표기법을 사용하여 코드를 단순화합니다.
에 대한 구문 __getitem__
방법은 다음과 같습니다.
def __getitem__(self, index): # Your Implementation pass
이는 함수의 동작을 정의하고 해당 매개변수에서 액세스하려는 인덱스를 사용합니다. 이 방법을 다음과 같이 사용할 수 있습니다.
my_obj[index]
이는 다음 진술로 해석됩니다. my_obj.__getitem__(index)
후드. 이제 내장된 것과 어떻게 다른지 생각할 수도 있습니다. indexer []
운영자? 이 표기법을 사용할 때마다 Python은 자동으로 다음을 호출합니다. __getitem__
메소드는 요소에 액세스하기 위한 약어입니다. 그러나 사용자 정의 개체에 대한 인덱싱 동작을 변경하려면 명시적으로 __getitem__
방법.
예 #01
먼저 쉬운 예부터 시작해 보겠습니다. 우리는 모든 학생의 목록을 갖고 있는 Student 클래스를 생성할 것이며, 색인으로 접근할 수 있고 색인이 학생의 고유한 학생 ID를 나타내는 것으로 간주할 것입니다.
class Student: def __init__(self, names): self.names=names def __getitem__(self,index): return self.names[index] section_A= Student(["David", "Elsa", "Qasim"])
print(section_A[2])
출력:
이제 다음을 사용하여 인덱싱 동작을 변경하는 고급 예제로 넘어갑니다. __getitem__
방법. 문자열 요소 목록이 있고 색인 위치를 입력할 때마다 요소를 검색하고 문자열 자체를 입력하면 색인 위치를 얻을 수도 있다고 가정해 보겠습니다.
class MyList: def __init__(self, items): self.items = items def __getitem__(self, index): if isinstance(index, int): return self.items[index] elif isinstance(index, str): return self.items.index(index) else: raise TypeError("Invalid Argument Type") my_list = MyList(['red', 'blue', 'green', 'black']) # Indexing with integer keys
print(my_list[0]) print(my_list[2]) # Indexing with string keys
print(my_list['red']) print(my_list['green'])
출력:
red
green
0 2
이 방법은 인스턴스 속성을 빠르게 조회하는 데 매우 유용합니다. 이 방법의 유연성과 다양성을 고려하면 이것이 Python에서 가장 잘 활용되지 않는 매직 방법 중 하나라고 말하고 싶습니다. 이 기사를 재미있게 읽으셨기를 바랍니다. Python의 다른 매직 메서드에 대해 알고 싶다면 댓글 섹션에 알려주시기 바랍니다.
칸월 메린 데이터 과학 및 의료 분야의 AI 응용에 큰 관심을 가진 소프트웨어 개발자 지망생입니다. Kanwal은 APAC 지역의 Google Generation Scholar 2022로 선정되었습니다. Kanwal은 유행하는 주제에 대한 기사를 작성하여 기술 지식을 공유하는 것을 좋아하며 기술 산업에서 여성의 대표성을 개선하는 데 열정적입니다.
- SEO 기반 콘텐츠 및 PR 배포. 오늘 증폭하십시오.
- 플라토 블록체인. Web3 메타버스 인텔리전스. 지식 증폭. 여기에서 액세스하십시오.
- 출처: https://www.kdnuggets.com/2023/03/introduction-getitem-magic-method-python.html?utm_source=rss&utm_medium=rss&utm_campaign=introduction-to-__getitem__-a-magic-method-in-python
- :이다
- 2022
- 8
- a
- 소개
- ACCESS
- 액세스
- 달성
- 많은
- AI
- 의학의 AI
- All
- 허용
- 분석
- 과
- APAC
- 어플리케이션
- 있군요
- 논의
- 기사
- 기사
- AS
- 열망하는
- 관련
- 속성
- 자동적으로
- BE
- 혜택
- 검정
- 파란색
- 내장
- by
- 전화
- 라는
- 통화
- CAN
- 이전 단계로 돌아가기
- 수업
- 암호
- 수집
- 본문
- 완전한
- 개념
- 고려
- 치고는
- 용기
- 만들
- 관습
- 데이터
- 데이터 분석
- 데이터 과학
- 데이비드
- 깊이
- 정의
- 개발자
- 다른
- 발견
- 더블
- e
- 쉽게
- 효율적인
- 요소
- 요소
- 가능
- 엔터 버튼
- 필수
- 조차
- 예
- 추출물
- 매우
- 익숙한
- 를
- 먼저,
- 유연성
- 다음
- 럭셔리
- 에
- 기능
- 기능의
- 기능
- 세대
- 얻을
- 목표
- 구글
- 보조금
- 큰
- 초록색
- 처리
- 있다
- 도움
- 여기에서 지금 확인해 보세요.
- 후드
- 기대
- 방법
- HTTPS
- i
- ID
- 이행
- 개선
- in
- 색인
- 산업
- 정보
- 예
- 를 받아야 하는 미국 여행자
- 관심
- 관심있는
- 흥미있는
- 개요
- IT
- 항목
- 그
- 그 자체
- 너 겟츠
- 날카로운
- 키
- 알아
- 지식
- 언어
- 배우기
- 처럼
- 라인
- 링크드인
- 명부
- 기울기
- 로드
- 조회
- 기계
- 기계 학습
- 마법
- 유지보수 가능
- 조작
- .
- 의학
- 메모리
- 방법
- 방법
- 수도
- 배우기
- 가장
- 움직임
- 이름
- 필요
- 대상
- 사물
- of
- on
- ONE
- 연산자
- 보통주
- 기타
- 매개 변수
- 열렬한
- 플라톤
- 플라톤 데이터 인텔리전스
- 플라토데이터
- 위치
- 가능한
- 힘
- 프로그램 제작자
- Python
- 빠른
- 모집
- 읽기
- 빨간색
- 지방
- 대표
- 대표
- 필수
- return
- s
- 과학
- 섹션
- 선택된
- 본인
- 공유
- 속기
- 영상을
- 일부분
- So
- 소프트웨어
- 일부
- 특별한
- 스타트
- 성명서
- 구조
- 학생
- 학생들
- 이러한
- 둘러싸인
- 구문
- 소요
- 기술
- 첨단 산업
- 테크니컬
- 그
- XNUMXD덴탈의
- 그들의
- 그들
- Bowman의
- 생각
- 에
- 이상의 주제
- 동향
- 유형
- 아래에
- 이해
- 유일한
- us
- 용법
- 사용
- 사용자
- 가치
- 지팡이
- 크게
- 의지
- 과
- 이내
- 없이
- 여성 컬렉션
- 기술 분야의 여성
- 겠지
- 쓰다
- 쓰기
- 너의
- 제퍼 넷