본문 바로가기

Python

(28)
4. 구조와 모듈 (Structure and Module): 파이썬 자료구조와 알고리즘 모듈 파이썬에서 모듈 (module) 은 def 를 사용하여 정의한다. def가 실행되면, 함수의 객체와 참조가 같이 생성되며, 반환값을 정의하지 않으면 자동으로 None을 반환하도록 한다 (None은 다른 언어들의 null 과 같은 개념이다). C언어처럼 아무것도 반환하지 않는 함수는 프로시저 (procedure) 라고 부른다. 스택과 활성화 레코드 함수가 호출될 때마다 활성화 레코드 (activation record) 가 생성된다. 활성화 레코드에는 함수의 정보 (반환값, 매개변수, 지역 변수, 반환 주소 등) 가 기록되며 이를 스택 (stack) 에 저장한다. 이는 다음 순서로 처리된다. 함수의 실제 매개변수를 스택에 저장 (push) 한다. 반환 주소를 스택에 저장한다. 스택의 최상위 인덱스를 함..
3. 컬렉션 (Collection): 파이썬 자료구조와 알고리즘 https://github.com/beomseok-kang/DSA-examples 에서 예제에 대한 내가 쓴 답을 볼 수 있다. 컬렉션 (collection) 자료구조는 시퀀스 자료구조와 달리, 데이터를 서로 연관시키지 않고 (relating) 모아두는 컨테이너이다. 컬렉션 자료구조는 시퀀스 자료구조가 갖던 속성 중 아래 세 가지 속성을 지닌다. 멤버십 연산자: in 크기 함수: len(seq) 반복성: 반복문의 데이터를 순회 파이썬의 내장 컬렉션 (collection) 데이터 타입은 셋 (set) 과 딕셔너리 (dictionary) 가 있다. 셋 (Set) 파이썬의 셋 (set) 은 반복 가능하고, 가변적 (mutable) 이며, 중복 요소가 없고 정렬되지 않은 컬렉션 데이터 타입이다. 셋은 멤버십 테..
2. 시퀀스 (Sequence): 파이썬 자료구조와 알고리즘 https://github.com/beomseok-kang/DSA-examples 에서 예제에 대한 내가 쓴 답을 볼 수 있다. 이번에는 파이썬의 시퀀스 (sequence) 데이터 타입을 알아본다. 파이썬의 시퀀스 타입들은 다음과 같은 속성들을 가진다. 멤버십 (membership) 연산: in 키워드를 사용한 연산 크기 (size) 함수: 예) len(seq) 슬라이싱 (slicing) 속성: 예) seq[ :-1 ] 반복성 (iterability): 반복문에 있는 데이터를 순회할 수 있음. 파이썬에는 5개의 내장 시퀀스 타입이 있다. 이들은 문자열 (string) 튜플 (tuple) 리스트 (list) 바이트 배열 (bytearray) 바이트 (byte type) 이다. 깊은 복사와 슬라이싱 연산 가..
1. 숫자 (Number): 파이썬 자료구조와 알고리즘 https://github.com/beomseok-kang/DSA-examples 에서 예제에 대한 내 답을 볼 수 있다. 인간에게는 10개의 손가락을 바탕으로 시작했던 10진법 (decimal) 이 가장 익숙하다. 그러나 컴퓨터는 전자상태의 신호인 참/거짓 (1과 0)을 사용한 이진법 (binary) 이 더 적합하다. 따라서 이를 통해 컴퓨터는 정보를 비트 (bit) 로 표현한다. bit가 8개 모이면 byte, byte가 2^10개 모이면 kilobyte 등등... 숫자는 세가지 형태로 나타날 수 있다. 정수 (integer), 부동소수점 (float), 그리고 복소수 (complex) 로 나타낼 수 있다. 파이썬에서 불변형 객체 (immutable object) 란 변수와 객체 참조 간제 차이가 없..