기본 콘텐츠로 건너뛰기

라벨이 재정의인 게시물 표시

[matplotlib]quiver()함수

[python] 다형성(polymorphism)

다형성(polymorphism) 다형성은 한 형태가 다른 형태로 발생하는 조건을 의미합니다. 이 다형성은 프로그래밍에서 매우 중요한 개념으로 단일 유형의 연산자, 개체등을 다른 조건이나 시나리오에서 다른 형태로 사용하는 것을 의미합니다. 예를 들어 덧셈 연산자인 + 는 숫자형 뿐만 아니라 문자형에서도 사용될 수 있으며 각 사용처에 따라 그 용도 역시 차이가 납니다. 숫자 : 덧셈 문자 : 연결 x, y=2, 3 x+y 5 str1="pyhton" str2="polymorphism" str1+" "+str2 'pyhton polymorphism' 위와 같이 동일 대상의 사용의 차이를 다형성(polymorphism)이라고 합니다. 거의 모든 python 객체에서 사용되는 len() 함수는 대상의 길이를 반환합니다. 그러나 그 함수의 대상이 되는 인수가 문자열, 리스트, 사전에 따라 반환하는 결과에 차이를 나타냅니다. 11 y=[1, 2,"apple", "computer"] #리스트를 구성하는 원소 수를 반환 len(y) 4 z={"computer": 2, "apple":1} #사전 형식의 key:value의 pair의 수를 반환 len(z) 2 위와같이 다형성은 함수를 다양한 조건에서 사용할 수 있게 합니다. 이러한 용도는 클래스로 확대할 수 있습니다. class staff1: def __init__(self, name, age, grade): self.name=name self.age=age self.grade=grade def info(self): print(f"성명: {self.name}") print(f"나이: {self.age}") print(...

[python] 클래스의 상속(Inheritance)

상속(Inheritance) 상속 은 기존의 클래스를 재이용하기 위해 현재 클래스내에 그 객체(클래스)를 호출하여 적용하는 것입니다. 식 1에 나타낸 것과 같이 클래스1은 클래스2의 속성과 메소드들을 사용할 수 있습니다. class 클래스1(클래스2): 내 용 (식 1) 식 1의 클래스2는 상속의 대상되는 클래스로 부모 클래스, 수퍼 클래스, 또는 기본 클래스(parent, super, or base class) 라고 하며 클래스1은 클래스2를 사용하는 주체로 자식클래스, 파생클래스, 또는 하위 클래스(child, derived, or subclass) 라고 합니다. 자식 클래스는 부모 클래스의 속성이나 메서드를 사용할 수 있습니다. 또한 자식클래스는 클래스2의 속성이나 메서드를 수정하여 사용할 수 있습니다. 이와 같이 상속받는 객체를 수정하여 다시 정의하는 것을 재정의(overriding) 라고 합니다. 다음 클래스 Book 은 속성으로 책 제목과 종류를 받아 그 제목을 출력하는 메서드를 가지고 있습니다. class Book: tax=0.05 def __init__(self, title, kind, price): self.title=title self.kind=kind self.price=price def Intro(self): print(f'이책의 제목은 "{self.title}" 입니다.') def Price(self): return self.price+self.price*Book.tax py=Book('Python', 'IT', 27000) py.Intro() 이책의 제목은 "Python" 입니다. py.Price() 28350.0 다음은 소설에 대한 클래스( Fiction )로서 클래스 Book 을 상속받는 자식 클래스입니다. 그러므...

[python] 밑줄과 내장메소드(Underscores & Built-in method)

밑줄과 내장 메소드(Underscores & Built-in method) 내요 밑줄의 유형 단일 선행 밑줄(Single leading underscore) 이중 선행 밑줄(double leading underscore) 이중 선행 및 후행 밑줄(Double leading and trailing underscore), 내장메서드 단일 밑줄(single underscore) 밑줄의 유형 단일 및 이중 밑줄(" _, __ ")은 일부는 단지 관례적으로 사용되지만 클래스를 초기화시키기 위해 적용되는 내장 메서드인 생성자 __init__() 와 같이 일부는 파이썬 변수 및 메서드에 첨가하여 특정한 의미를 부여합니다. 대략적으로 다음과 같이 분류할 수 있습니다. 단일 선행 밑줄: _var 변수 또는 메서드가 내부 사용을 위한 것임을 나타내는 규칙 단일 선행밑줄의 객체를 와일드카드(*)로 호출할 경우를 제외하고 실행상 차이는 없음 단일 후행 밑줄: var_ 후행 밑줄(접미사)은 규칙에 따라 파이썬 키워드와의 이름 충돌을 피하기 위해 사용됩니다. 이중 선행 밑줄: __var 작동영역을 한정시킴 이중 선행 및 후행 밑줄: __var__ 파이썬 클래스에 공통적으로 사용되는 내장 메소드(매직 메소드)를 나타내기 위한 명명 규칙 단일 밑줄:_ 임시 또는 중요하지 않은 변수를 나타낼 경우 사용되는 명명규칙 단일 선행 밑줄(Single leading underscore) 변수 및 메서드 이름과 관련하여 단일 밑줄 접두사는 관례적으로 사용하는 것으로 프로그램의 동작에는 영향을 미치지 않습니다. 다시 말해 단일 밑줄로 시작하는 변수 또는 메서드는 내부 사용을 위한 것임을 암시하기 위해 사용합니다. 파이썬은 Java와 같이 "개인" 변수와 "공용" 변수를 크게 구분하지 않기 때문에 실행 상 어떤 변화를 나타내지 않습니다. class test: ...