이 파일은 제가 python 기초 강의를 들으면서 필기했던 내용들을 간단하게 정리한 것입니다.
혹시나 잘못된 정보가 포함되어있을수도 있기 때문에,
python 내용을 아시는 분들중에 잘못된 내용을 잡아내신 경우에는 댓글을 달아주시길 바랍니다.
----------------------------------------------------------------------------------------------------
저는 이미 c언어를 공부한 이후에 파이썬을 공부하고 있는 터라, 필기 내용 자체가 아무래도 c언어와 파이썬의
차이점을 위주로 정리를 했습니다. 그렇기 때문에 python을 아예 모르시는 분은 이 문서를 읽기에 약간 불편함이
있을수도 있다는 점 양해바랍니다. c언어를 어느정도 알고 이 문서를 보는걸 추천드립니다 ㅎㅎ
저도 아직 초보라 틀린 내용이 있을수 있고, 만약 그 부분을 잡아내신다면 댓글로 알려주시길 바랍니다.
클래스,인스턴스
[클래스]
> 함수나 변수들을 모아 놓은 집합체
[인스턴스]
> 클래스에 의해 생성된 객체
> 인스턴스 각자 자신의 값을 가지고 있다.
=> 클래스가 붕어빵 틀이라면, 인스턴스(객체)는 그 틀로 찍어내는 붕어빵이라고 생각하면 된다.
is 연산
> 인스턴스들이 같은 인스턴스인지를 알아볼 수 있다!
> 사용법: if(list1 is list2) : list1과 list2가 같은 인스턴스인지? 라고 묻는 문장!
ex)
list1 = [1,2,3]
list2 = [1,2,3]
if list1 is list2:
print('list1과 list2는 같은 인스턴스이다!')
else:
print('같은 인스턴스가 아니다!')
#list1과 list2의 값은 같지만(list1 == list2)
#list1과 list2는 같은 인스턴스는 아닙니다.(if list1 is list2 => false)
클래스 만들기
> 구조 : class 클래스명():
> 클래스와 인스턴스를 이용하면 데이터와 코드를 사람이 이해하기 쉽게 포장가능하다!
> 클래스에 함수도 당연히 넣을수있다!
ex)
class Human():
'''사람'''
person1 = Human() # Human의 인스턴스가 person1에 저장됨
person2 = Human() # Human의 인스턴스가 person2에 저장됨
person1.language = '한국어'
person2.language = 'English'
person1.name = '서울시민'
person2.name = '인도인'
def speak(person):
print("{}이 {}로 말을 합니다.".format(person.name, person.language))
Human.speak = speak # Human 클래스에 speak함수를 넣었으므로, Human의 인스턴스인 person1,person2에서도 speak함수의 능력을 가지게된다! 즉.. 아래처럼 가능!
person1.speak() # 서울시민이 한국어로 말을 합니다.
person2.speak() # 인도인이 English로 말을 합니다.