인프런 강의 <파이썬입문과 크롤링기초 부트캠프>을 듣고, 중요한 점을 정리한 글입니다.
절차지향과 객체지향 프로그래밍
예: 냉장고에 코끼리2를 넣는다.
즉,
1. 해당 사물을 나타낼 수 있는 설계도를 만든다. (class)
2. 해당 사물의 설계도를 기반으로 사물1 객체를 만든다. (object)
3. 사물1 객체의 기능을 호출한다.
Q: 사물1 객체의 attribute나 method 호출방법은?
-> '사물1객체의이름.method이름(인자)'
string = "Fun Coding" # 문자열 관련 설계도 있음 - 해당 설계도 기반 문자열1 객체가 만들어짐
string.split() # 해당 문자열1 객체가 가지고 있는 메서드(method)
그럼 파이썬은 어떤 언어?
객체지향 프로그래밍 언어: JAVA, C++
파이썬: 객체지향(내부), 객체지향 문법(지원)
사각형 만들기
3.1. class 선언하기
: 객체 생성 전에 미리 class를 선언해야 함
1. 클래스를 어떻게 만드니?
class 클래스이름:
attribute 선언
method 선언
1.1 attribute 선언
1.2 method 선언
class 안에서 def 메서드(self, ...) 와 같은 방식으로 선언
class Quad():
width = 0
height = 0
color = ''
name = 'Quad'
def quard_name(self):
return self.name
클래스에 선언된 attribute를 해당 메서드에서 호출할 때는,
'self.해당 attribute 이름'
cf) 그러나, 해당 메서드를 호출할 때는 인자가 없기 때문에 그냥 괄호만 해줘도 된다. ex. quad1.quard_name()
클래스 이름은 맨 앞은 대문자로 시작, 메서드 이름은 함수와 마찬가지로 소문자로 시작. 단어 여러개면 '_'로 띄어쓴다.
4X3(red), 5X5(blue), 7X4(brown) 세 개 객체를 만들고, 각각의 넓이 출력
quad1 = Quad() #클래스로 객체 생성
quad1.height = 4
quad1.width = 3
quad1.color = 'red'
quad1.get_area()
※ class에 있는 attribute 변수는 메서드에서 사용할 때, 'self.'을 붙여야 함. 그러나 메서드에서 인자로 받는 변수를 코드 안에서 쓸 때는 self 안 붙이고 해당 인자 이름을 그대로 써도 된다.