Python에서 생성자 오버로딩이란 무엇입니까? 예를 들어

게시 됨: 2023-01-29

Python은 초보자도 쉽게 마스터할 수 있는 사용자 친화적인 프로그래밍 언어입니다. 이 프로그래밍 언어는 프로그래머가 코드를 구현하는 여러 방법을 탐색하는 데 도움이 되는 광범위한 커뮤니티 지원을 제공합니다. Python의 표준 라이브러리와 커뮤니티 포럼에서 제공한 모듈은 웹 및 인터넷 개발, 데스크톱 GUI, 데이터베이스 액세스, 교육, 과학 및 수치 응용 프로그램, 네트워크 프로그래밍, 소프트웨어 개발 및 게임 개발 프로그램을 포함하여 무한한 가능성을 허용했습니다. 이 오픈 소스 언어는 OSI 승인 라이선스에 따라 개발되었습니다. 따라서 무료로 사용 및 배포할 수 있습니다. Python Software Foundation은 Python 라이선스를 관리합니다.

목차

Python의 생성자:

Python 생성자의 주요 기능은 개체를 인스턴스화하는 것입니다. 객체 생성 시 클래스 데이터 멤버에 값이 할당되거나 생성자의 도움으로 초기화됩니다. _init_ 함수는 Python의 생성자입니다. 새 객체가 생성될 때 종종 호출됩니다.

생성자 선언 구문은 다음과 같습니다.

Def _init_(self):

# 생성자의 몸

Python에는 두 가지 유형의 생성자가 있습니다. 그들은:

  • 기본 생성자
  • 매개변수화된 생성자

기본 생성자:

간단한 생성자이며 입력 매개변수를 허용하지 않습니다. 기본 생성자의 정의에는 구성 중인 인스턴스를 참조하는 하나의 인수만 있습니다.

매개변수화된 생성자:

이름에서 알 수 있듯이 이러한 생성자에는 매개 변수가 있습니다. 이 유형의 생성자의 첫 번째 인수는 구성된 인스턴스를 참조하며 'self'로 알려져 있습니다. 다른 모든 필수 인수는 프로그래머가 입력으로 지정합니다.

upGrad의 데이터 과학 과정을 확인하십시오

파이썬에서 생성자 오버로딩:

구성 오버로딩은 각 생성자가 프로그램에서 다른 작업을 수행하는 데 사용되는 별도의 매개 변수 목록과 함께 더 많은 수의 생성자를 통합하는 시나리오를 나타냅니다. 예를 들어 Vector 클래스에는 네 가지 유형의 생성자가 있습니다.

Python은 여러 생성자를 명시적으로 지원하지 않습니다. 그러나 Python에서 여러 생성자를 사용하는 방법은 여러 가지가 있습니다. 프로그래머가 동일한 클래스에 대해 여러 _init_ 메서드를 작성하는 경우 가장 최근에 작성된 _init_ 함수가 다른 모든 생성자를 덮어씁니다.

Python에서 다중 생성자가 필요한 이유는 무엇입니까?

사용자가 클래스를 인스턴스화하기 위해 다른 작업을 수행해야 하는 경우 여러 생성자의 요구 사항이 나타납니다. 이는 클래스가 다른 매개변수에 대해 다른 작업을 수행할 때 유용합니다. Python의 클래스 생성자는 다음과 같이 세 가지 방식으로 다형성을 나타내도록 구성되어 있습니다.

  1. 인수 기반 생성자 오버로딩
  2. _init_ 메서드 호출
  3. @classmethod 데코레이터 사용

인기 있는 데이터 과학 과정 살펴보기

IIITB의 데이터 사이언스 총괄 포스트 대학원 프로그램 비즈니스 의사 결정을 위한 데이터 과학 전문 인증 프로그램 애리조나 대학교 데이터 과학 석사
IIITB의 데이터 과학 고급 인증 프로그램 메릴랜드 대학교의 데이터 과학 및 비즈니스 분석 전문 인증 프로그램 데이터 과학 과정

인기 있는 데이터 과학 기사 읽기

데이터 과학 진로: 포괄적인 진로 가이드 데이터 과학 경력 성장: 일의 미래가 여기에 있습니다 데이터 과학이 중요한 이유는 무엇입니까? 데이터 과학이 비즈니스에 가치를 부여하는 8가지 방법
관리자를 위한 데이터 과학의 관련성 모든 데이터 과학자가 갖추어야 할 궁극의 데이터 과학 치트 시트 데이터 과학자가 되어야 하는 6가지 이유
데이터 과학자의 하루: 그들은 무엇을 합니까? 잘못된 통념: 데이터 과학에는 코딩이 필요하지 않습니다 비즈니스 인텔리전스와 데이터 과학: 차이점은 무엇입니까?

인수 기반 Python의 생성자 오버로딩:

이 메서드에서는 전달된 인수에 대한 조건을 확인한 후 필요한 작업을 수행하여 생성자를 오버로드합니다. Sample 클래스에 매개변수를 전달하는 예를 살펴보겠습니다.

  • 입력 매개변수가 int인 경우 숫자의 제곱이 답입니다.
  • 매개변수의 길이가 1보다 크면 인수의 합이 답으로 표시됩니다.

_init_로 메서드 호출:

클래스의 인스턴스가 생성되면 클래스는 할당된 모든 작업을 수행할 수 있는 단일 _init_ 생성자를 가질 수 있습니다. 이 생성자는 다른 기능을 처리하고 전달된 매개 변수에 따라 다른 작업을 수행하도록 수정할 수 있습니다. 다음 계산이 수행되는 예를 살펴보겠습니다.

  • 두 개의 인수가 전달되면 표현식은 x = a 2 – b 2 로 평가됩니다.
  • 세 개의 인수가 전달되면 평가되는 표현식은 y = a 2 + b 2 – c 입니다.
  • 전달된 인수의 수가 3을 초과하면 해당 숫자의 제곱을 더하고 합계를 가장 높은 값을 가진 인수로 나눕니다.

Python의 메서드 재정의에 대해 자세히 알아보려면 18개월 데이터 과학 석사 과정 을 수강하는 것이 좋습니다 . upGrad는 IIIT Bangalore 및 Liverpool John Moore's University에서 이 과정을 제공합니다. 이 과정에서는 통계, Python을 사용한 예측 분석, 기계 학습, 데이터 시각화, 빅 데이터 분석 등과 같은 기술을 배웁니다. Python 개념에 대한 풍부한 지식을 갖춘 학생은 딥 러닝, 자연어 처리, 비즈니스 분석 및 데이터 엔지니어링과 같은 주제를 다룰 수 있는 좋은 위치에 있습니다.

이 기사를 공유하고 싶습니까?

미래의 경력을 준비하십시오

데이터 과학에서 이학 석사 신청