Big Ben
Big Ben's Log
Big Ben
전체 방문자
오늘
어제
  • 전체 글 (80)
    • 파이썬 (23)
      • 파이썬 기초 (5)
      • 클래스 (6)
      • 자료구조 (4)
      • Tensorflow (3)
      • PyTorch (2)
      • konlpy (1)
      • anaconda (1)
    • 머신러닝 (3)
      • 선형회귀 (1)
      • Tree 기반 (1)
    • 딥러닝 (6)
      • NLP (2)
      • VISION (2)
      • TABULAR (0)
      • 딥러닝 서버 구축 (2)
    • 그래프 이론 (1)
      • 그래프마이닝 (1)
      • GNN (0)
    • 강화학습 (3)
      • 강화학습 기본 (3)
    • 인공지능 (5)
    • 추천시스템 (2)
      • 추천시스템 기초 (2)
    • Competitions (1)
    • 빅데이터 (8)
      • 하둡 (3)
      • 스파크 (4)
      • 클라우드 (1)
    • SQL (7)
      • MariaDB (2)
    • 논문 리뷰 (2)
    • 대학원 (0)
      • 데이터 사이언스 (0)
      • 경제학 (0)
    • 선형대수학 (7)
      • 선형대수 ICE BREAKING (1)
      • 벡터 (5)
      • 고윳값 (1)
    • 개인프로젝트 (0)
      • 포트폴리오 대시보드 + AI기반 주식 자동매매 (0)
    • 재테크 (1)
    • 자동차 (0)
    • 알고리즘 (11)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • 객체
  • 백준
  • 선형대수학
  • 파이썬
  • 머신러닝
  • 하둡
  • Baekjoon
  • class
  • PYTHON
  • 자료구조
  • mysql
  • 프로그래머스
  • 데이터
  • 알고리즘
  • 프로그래밍
  • TensorFlow
  • 딥러닝
  • 선형대수
  • 데이터사이언스
  • 코딩테스트
  • 빅데이터
  • MariaDB
  • sql
  • pytorch
  • 코테
  • AI
  • 파이썬기초
  • 객체지향
  • 데이터베이스
  • 인공지능

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Big Ben

Big Ben's Log

파이썬/자료구조

[python] 던더함수, 더블언더스코어 의미 (__len__), (__contains__)

2022. 12. 23. 10:39
반응형

파이썬에서 시작과 끝에 언더스코어(_) 2개가 붙은 함수를 본 적 이 있을 것입니다. 

 

밑줄 두개가 뭍은 이 함수를 더블 언더스코어(double underscore) 또는 줄여서 던더(dunder)라고 합니다.

 

예를 들면 __len__ 이라는 던더 함수가 있을 때, 이를 던더 렌 또는 렌 던더라고 표현합니다.

 

이 함수는 특별하게 쓰일 수가 있는데요.

 

예를 들면, 클래스에 __len__()함수를 정의하면 클래스형의 인스턴스를 len()함수에 전달할 수 있게됩니다.

클래스형 인스턴스 obj가 있다고 가정하겠습니다. 

인스턴스 obj에 대한 __len()__ 함수를 호출하는 obj.__len__() 은 간단하게 len(obj)로 작성할 수 있습니다.

 

또 다른 예를 들어보겠습니다.

클래스에 __contains__() 함수를 정의한다면, 클래스형의 인스턴스에 멤버십 판단 연산자인 in을 적용할 수 있습니다.

클래스형 인스턴스 obj에 대한 __contains()__ 함수를 호출하는 obj.__contains__(x) 를 간단하게 x in obj로 작성할 수 있습니다.

반응형
저작자표시 (새창열림)

'파이썬 > 자료구조' 카테고리의 다른 글

[python] stack 구현 (고정길이 스택 fixed stack, class 활용)  (0) 2023.03.06
[Python] append vs extend (list의 append와 extend 차이점)  (0) 2022.12.27
[python] 함수 활용 시 매개변수가 뮤터블 vs 이뮤터블 일때..  (0) 2022.12.19
    '파이썬/자료구조' 카테고리의 다른 글
    • [python] stack 구현 (고정길이 스택 fixed stack, class 활용)
    • [Python] append vs extend (list의 append와 extend 차이점)
    • [python] 함수 활용 시 매개변수가 뮤터블 vs 이뮤터블 일때..
    Big Ben
    Big Ben
    Data Scientist

    티스토리툴바