[파이썬기초] 클래스(Class)
클래스는 개발자가 독자적인 자료형을 만드는 것과 같다.
클래스에는 클래스만의 전용 함수(Method)와 속성(Attribute)를 정의할 수도 있다.
거의 자바나 다른 언어랑 비교했을때 형태는 매우 비슷하다.
파이썬에서의 클래스 형태는 아래와 같다.
1 2 3 4 5 6 7 | class class_name: def __init__(self, name): self.name = name print("__init__") def sayHello(self): print(self.name+"sayHello") | cs |
1번째 줄을 보면 class 라는 키워드로 클래스를 정의할 수 있고 class_name 에는 클래스 명을 적는다. 그리고 뒤에 : (콜론) 이 붙는데 자바나 C++이나 다른언어에 비해 좀 생소한 편이다. 파이썬에서는 클래스나 함수, for문 등 뒤에 콜론을 붙여야 한다. 그리고 그 콜론을 기준으로 하나의 영역이라고 보면된다. 자세히 보면 2행부터는 들여쓰기가 되있고 3번과 4번행을 보면 들여쓰기가되어있는것을 확인 할 수 있는데, 이처럼 파이썬에서는 들여쓰기로 구분한다.
* 들여쓰기라는 것은 파이썬에서는 Tab 문자 혹은 공백 4글자를 의미한다. 하지만 파이썬에서는 공백문자를 사용하는 쪽을 권장한다.
그리고 def는 함수를 정의하는 키워드인데, 클래스에서 __init__ 이라는 특별한 함수가 있다. 클래스를 초기화 할 때 사용한다. 즉 클래스의 인스턴스가 만들어질 때 한번 호출하게 된다. 한마디로 생성자(Constructor)라고 한다.
또 파이썬에서는 함수의 첫 번째 인수로 자기자신을 나타내는 self를 명시적으로 쓰는 것이 특징이다. 자바에서는 this 라고 보면 되는데 명시적으로 메서드에 인수로 넣지는 않는다.
파이썬 클래스 사용은 아래와 같다.
1 2 | m = class_name("SEO") m.sayHello() | cs |
위의 코드에서는 class_name이라는 이름으로 클래스를 정의했다. 그리고 class_name 이라는 클래스에서 m 이라는 인스턴스를 생성한다.
객체를 생성 후 class_name 클래스 안에있는 함수를 .(도트)를 통해서 접근 할 수 있다.
'기타 > 기타 잡다한 것들' 카테고리의 다른 글
[딥러닝기초] 데이터 시각화 라이브러리(matplotlib) 기본 사용법 (0) | 2018.10.28 |
---|---|
[딥러닝기초] 파이썬 넘파이(numpy) 기본 사용법 (0) | 2018.10.27 |
파이썬 장고(Django) 에서 URL 로 매개변수 넘기기(GET방식) (2) | 2018.10.24 |
아나콘다(Anaconda) 4.5 버전에서 KoNLPy(형태소분석기) 설치하기 (0) | 2018.10.19 |
파이썬 날짜와 시간을 다루는 패키지(datetime) (0) | 2018.10.18 |