파이썬의 기초 #2

yuJaeWu·2020년 8월 5일
0

프로그래밍언어

목록 보기
3/10
post-thumbnail

파이썬의 리스트

파이썬에는 배열이 없다.
리스트는 배열과 맥락은 같다.
차이점이라면 우리가 잘알고있는 배열(Array)는 메모리 정적 할당.
파이썬의 리스트는 메모리를 동적 할당을 한다.

학생 = ['철수', '영희', '준표', '잔디', '야스오', '오바마', '봉구']

리스트를 선언하는 여러 예중 하나

이렇게 보면 배열과 큰 차이는 없어보이지만 디테일하게 들어가면 갈수록
큰 차이가 있다는 것을 알수있다.

첫번째 차이점은

위에서 적혀있는 동적 할당이다.
그말인 즉슨 메모리를 차지하는 크기의 한계가 없다.

두번째 차이점은

배열에서는 식별의 용이를 위해 필수적으로 사용하는게 인덱스(index)인데
'리스트'에서는 필수도 유일무이도 아니다.
즉 인덱스의 값이 고정이 아니기에 메모리 누수도 방지할수있다.

※인덱스가 필수 식별자인 배열에서는 엘리먼트가 삭제되어도 이미 선언과 동시에
할당된 인덱스의 고정값은 늘지도, 줄지도 않는다.

세번째 차이점은

자료형을 통일해줘야 사용할수있는 배열과는 달리
구조체(스트럭쳐)처럼 자료형(type)이 다르더라도 사용할 수 있다.

정리하자면

배열과 리스트는 사용성이 유사할뿐이지 차이점이 크다.
단순히 위에 있는 개념만 봐도 차이가 나는데 세부적인 것은 더욱 크다고 볼수있다.

파이썬의 클래스

클래스는 기능(함수,method)과 변수와 데이터를 묶어서 사용할수 있는 기능을 제공한다.

class Students:
    def __init__(self):
        self.freshMan = "파이썬 대학교 1학년"
        self.sophomore = "파이썬 대학교 2학년"
        self.junior = "파이썬 대학교 3학년"
        self.senior = "파이썬 대학교 4학년"
김철수 = Students()
print(김철수.freshMan+" "+"김철수")

이걸 보면 Students라는 클래스를 만들었다.
클래스명 뒤에는 콜론을 붙여주고 밑으로 데이터를 들여쓰기하는 식이다.
def는 define(정의)라는 함수이고 이것을 통하여 클래스 내부를 만들어간다.
파이썬에서 클래스의 생성자를 만들때 항상 동일한 규칙입니다. init을 사용하면
인자들을 채워 넣음으로써 그 값들을 지닌 객체(인스턴스)를 만들 수 있다.
앞뒤쪽의 언더바는 접근제어를 나타낸 것으로 저 함수는 지금 public이 된것이다.
self는 말그대로 this와 같이 Students 자신을 가리키는 인자이고
밑쪽의 데이터는 4년의 학업과정을 사용할수있다.

다음장 부터는 조금 세부적으로 들어갈 예정입니다.

profile
어중간한 성공보다는 확실한 실패가 좋다.

0개의 댓글