본문 바로가기

언어/Python

(16)
[파이썬 기초] 인스턴스 메서드, 클래스 메서드, 스태틱 메서드 구분하기 메서드의 종류를 모르면 앞에 글을 먼저 읽고 보세요. *메서드의 종류 : https://mumala.tistory.com/19 1. 클래스와 객체(인스턴스)의 네임스페이스 : 먼저 클래스와 객체(인스턴스)의 저장공간(네임스페이스, namesapce)에 대해 이해하자 위 그림처럼 객체와 클래스에는 각각 네임스페이스가 있으며 객체가 클래스를 상속받는 구조이다. 즉, 객체를 통해 변수나 함수를 호출하는 경우 다음과 같은 순서로 찾게된다. 1. 객체 (인스턴스) 영역 2. 클래스 영역 3. 전역 영역 2. 메서드의 종류 구분하기 : 위에서 배운 네임스페이스 개념을 통해 메서드의 종류를 구별해보자. 3개의 메서드 모두 객체를 통해 함수를 호출하는 것이 가능하다. 인스턴스 메서드만 불가능하다. 그 이유에 대해 알아..
[파이썬 기초] 얕은 복사(Shallow copy)와 깊은 복사(Deep copy) 1. 일반적인 복사 = 을 이용해 다른변수에 같은 값을 할당해주는 복사이다. 변수만 다르고 같은 메모리를 가리키기 때문에 2개의 주소는 같다. 따라서 하나의 값을 바꿔주면 나머지도 같이 바뀌게 된다. 2. 얕은 복사 (Shallow copy) 파이썬 내장함수 copy()를 이용한 복사이다. 주소를 복사한 것이 아닌 메모리 값을 복사한 것이기 때문에 주소값이 다르다. 변수도 2개고 메모리도 2개인 것이다. 하지만 여기서 중요한 것은 2차 리스트의 껍데기만 복사됬다는 것이다. L = [1,[ ], [ ]] 만 메모리가 2개인 것이고 그 안의 [2,3] 과 [4,5]는 아직도 하나로 같은 값을 가리키고 있다. 따라서 위의 예제처럼 L[0]의 값을 수정할 때에는 L값만 바뀌지만 L[1][1]값을 수정할 때에는 ..
[파이썬 기초] 리스트 (List) -1 (특성,생성,수정,추가,제거,결합) *리스트의 특성 : -unordered : 자동정렬되지 않는다. (인덱스, 슬라이싱 사용가능) -changeable : 값의 수정이 가능하다. -duplicate : 중복된 값이 들어갈 수 있다. 1. 리스트 생성하기 2. 인덱싱을 통한 값의 수정 3. Neagative Indexing 4. 슬라이싱 [0:3]일 경우 0부터 2까지 선택된다. (끝+1 주의!!) 5. 값의 추가 6. 값의 제거 7. 두개의 리스트 합치기
[파이썬 팁] e 없이 소수를 출력하는 방법 e형식(Scientific notation)이 아니게 소수를 출력하는 방법 : 일반적으로 파이썬에서 소수를 출력하게 e형식(Scientific notation)으로 출력된다. 이는 format()을 이용하면 쉽게 해결하는 것이 가능하다.
[파이썬 기초] 모듈 사용하기 1. 모듈이란? 모듈은 파이썬 정의와 문자을 담고 있는 파일을 말한다. (파일의 이름은 모듈 이름에 확장자 .py 를 붙힘) 2. 모듈 사용하기 - import A -import A as B - from A import B - from A import B as C
[파이썬 기초] 상속 1. 상속(Inheritance) 이란? 상속은 부모 클래스와 자식 클래스의 관계에서 부모의 모든 속성들을 자식에게 물려줄 수 있다. -상속을 사용하는 이유 : 객체의 재사용성을 늘려준다. 효율적인 코딩. (객체지향프로그래밍) 위 예시를 보면 자식클래스 객체에서 부모클래스의 변수들을 사용한 모습을 볼 수 있다. 2. 부모클래스의 생성자 사용 3. 재정의 부모클래스에서 정의한 함수를 자식클래스에서 다시 정의한다. 함수와 파라미터가 부모클래스와 모두 동일하게 정의해야 한다.
[파이썬 기초] 생성자와 소멸자 1. 생성자와 소멸자란? 2. 객체를 소멸시키는 여러가지 방법 ① del 사용 ② 객체에 None 할당 ③ 객체에 새로운 객체 할당 *파이썬은 중복함수를 허용하지 않는다. -> 따라서 생성자도 한개만 정의 가능
[파이썬 기초] 변수와 메서드 1. 객체에 멤버 추가 이번에는 클래스안에 함수를 추가했다. (클래스 안의 함수를 메서드라고 부른다) 하지만 여기서 클래스를 통한 함수호출은 되지만 객체를 통한 함수호출에 오류가 발생하는 것을 볼 수 있다. 2. 인스턴스 메서드 객체에서 메서드를 호출하기 위해서는 self 인자를 사용한다. self인자는 객체의 멤버에 접근하도록 도와준다. 3. 클래스 메서드(Class Method)와 정적 메서드(Static Method) 클래스 메서드 : 클래스를 통한 호출 시 사용하는 메서드 선언시 첫줄에 @classmethod 입력 매개변수는 클래스 정적 메서드 : 클래스와 객체와 상관없는 메서드 선언시 첫줄에 @staticmethod 입력 *클래스를 사용하는 이유 -객체를 이용해 데이터를 저장하기 위해 -> 변수..