• class Car : def __init__(self,name,model,color): self.name = name self.model = model self.color = color def show(self): print("Name : ",self.name) print("Model : ",self.model) print("Color : ",self.color)car = Car("Toyota","Corolla","Black")print(car.name)car.show() 지금까지 우리는 인스턴스 객체에 대한 메서드를 구현해왔기 때문에 이를 인스턴스 메서드(instance methods)라고 불렀다.인스턴스 메서드는 첫번째 매개변수로 self를 받는데 이것이 인스..

  • 데코레이터는 객체 구조 관련하여 설명하는 디자인 패턴중 하나이다.파이썬은 함수, 메서드, 클래스를 데코레이터로 지정할 수 있다.데코레이터 동작은 함수를 새로운 데코레이팅 함수 또는 클래스로 감싸는 것을 기반으로 "decoration"라고 이름지어졌다.이는 원래 함수를 데코레이팅 함수에 매개변수로 전달하여 데코레이팅 함수가 전달된 함수를 호출할 수 있도록 하는 방식으로 수행된다. 데코레이팅 함수는 나중에 호출할 수 있는 함수를 반환한다. 물론 데코레이팅 함수는 많은 작업을 수행한다.데코레이팅된 함수의 매개변수를 가져와 추가 작업을 할 수 있기 때문에 실제 데코레이팅 함수가 된다.클래스 데코레이팅도 같은 원리가 적용된다.이후에 이러한 개념적인 부분을 차차 풀어보고자 한다.지금은 일단 데코레이터 라는 용어가 ..

  • 우리는 아무렇지 않게 print()를 사용해왔다.print(1)print(1, 2)print(1, 2, 'Hi')11 21 2 Hiprint()의 함수 호출은 임의의 개수를 가진 매개변수를 받는 함수로, 이러한 함수들을 종종 볼 수 있다.이렇게 가변적인 인자를 처리하기 위해 어떻게 사용될까 ?*arg,**kwargs 함수 정의의 마지막에 추가하여 사용한다.arg와 kwargs로 명명하는 것이 관례이며, 사실 이름은 변경할 수 있지만 *의 사용과 갯수가 중요하다. * arg명시적으로 예상되지 않는 모두 추가 위치 인수의 튜플을 나타낸다.즉, 키워드 없이 전달되고 예상 인수 다음에 전달되는 인수를 의미하는데 쉽게 말해서 일치하지 않는 모든 인수를 수집한다.def arg(a, b, *args): print(..

  • 파이썬에서 다형성은 서로 다른 객체에 단일 인터페이스를 제공하는 것을 의미한다.다시 말해서, 특정 타입의 추상 메서드를 생성하여 해당 타입을 동일한 방식으로 처리할 수 있다. 예를 들면 print()라는 함수는 인자로 정수형 객체가 오던, 문자열 객체가 오던 인쇄될 갚의 유형과 무관한 편리한 인터페이스(동일한 방식으로 호출 될 수 있는 형태)가 생성된다. 내부적으로 , 각 타입에 맞는 __str__이나 __repr__ 가 호출되는 것이다. 같은 규칙이 덧셈 연산에도 적용되는데, 덧셈은 '+'연산자로 표현되며, 두 정수를 더하거나 두 문자열 또는 두 리스트를 연결할 때 이 연산자를 적용할 수 있다. 정수형과 문자열에 '+' 연산자를 처리하는 어떤 내장 메서드가 있는지 살펴보자.#set을 활용하여 교집합 ..

  • 상속상속은 객체 지향 프로그래밍의 기본 개념중 하나며, 클래스 간의 기본적인 관계. 즉, 슈퍼클래스와 하위클래스 간의 관계를 나타낸다.상속은 클래스 계층 구조를 생성하게된다. 특정 수준의 클래스 계층구조 바인딩된 모든 객체는 슈퍼클래스 내부에 정의된 모든 특성들(메서드와 속성)을 상속받는다.그 말은 즉, 상속은 처음부터 새로 만드는 것이 아니라 이미 정의된 특정 레퍼토리를 활용하여 새로운 클래스를 만드는 방식이다.새로운 클래스는 기존 특성들을 상속받지만 필요의 경우 새로운 기능을 추가할 수 있다. 이점이 중요하다.하위 클래스로 갈수록 상위클래스보다 구체적이고 특수화된다. 반대로 상위클래수로 갈수록 추상적이고 단순화된다. 쉽게 정리한다면,객체 지향 언어의 큰 특징으로 부모 클래스가 가진 모든 속성을 자식에..

  • python에서는 객체에 연산자를 사용하여 핵심 연산자(Core Operators)를 사용할 수 있다.예를 들어 Person 에 대해 클래스를 만들었고, 사람을 설명하는 속성들을 가지고 있다.필요에 의해 사람들의 총 중량에 대한 계산을 해야한다면 + 연산자를 사용할 것이다.해당 + 연산은 속성값을 더하고 결과를 반환한다는 기본적인 동작을 우리는 생각하고 있을 것이다.+를 사용함과 동시에 연산자는 특정 클래스에서 제공하는 매직 메서드(Magic Methods)로 변환된다.파이썬은 인터프리터가 두 문자열, 정수 혹은 객체 사이에 + 연산자를 발견하면 무엇을 해야할지 알고 있다.즉, 호출된 함수나 연산자를 담당하는 매직메서드를 찾아 피연산자(객체)에 적용한다.파이썬에서 이러한 매직 메서드는 특수 목적을 가진..

  • Copyright 2024. GRAVITY all rights reserved