본문 바로가기

개발자/파이썬 Python

파이선 클래스 기초 2. 리얼파이선 19 파이선 클래스 기초 2. 리얼파이선 19 클래스와의 첫 만남 클래스는 약간의 새 문법과 세 개의 객체형과 몇 가지 새 개념들을 도입합니다. 클래스 정의 문법 클래스 정의의 가장 간단한 형태는 이렇게 생겼습니다: class ClassName: . . . 함수 정의(def 문)처럼, 클래스 정의는 어떤 효과가 생기기 위해서는 먼저 실행되어야 합니다. (상상컨대 클래스 정의를 if 문의 분기나 함수 내부에 놓을 수 있습니다) 실재적으로, 클래스 정의 내부의 문장들은 보통 함수 정의들이지만, 다른 문장들도 허락되고 때로 쓸모가 있습니다 — 나중에 이 주제로 돌아올 것입니다. 클래스 내부의 함수 정의는 보통, 메서드 호출 규약의 영향을 받은, 특별한 형태의 인자 목록을 갖습니다. — 다시, 이것은 뒤에서 설명됩니..
파이선 클래스 기초 1. 리얼파이선 18 9. 클래스 클래스는 데이터와 기능을 함께 묶는 방법을 제공합니다. 새 클래스를 만드는 것은 객체의 새 데이터 형을 만들어서, 그 형의 새 인스턴스를 만들 수 있도록 합니다. 각 클래스 인스턴스는 상태를 유지하기 위해 그 자신에게 첨부된 어트리뷰트를 가질 수 있습니다. 클래스 인스턴스는 상태를 바꾸기 위한 (클래스에 의해 정의된) 메서드도 가질 수 있습니다. 다른 프로그래밍 언어들과 비교할 때, 파이썬의 클래스 메커니즘은 최소한의 새로운 문법과 개념을 써서 클래스를 추가합니다. C++과 모듈라-3에서 발견되는 클래스 메커니즘을 혼합합니다. 파이썬 클래스는 객체 지향형 프로그래밍의 모든 표준 기능들을 제공합니다: 클래스 상속 메커니즘은 다중 베이스 클래스를 허락하고, 자식 클래스는 베이스 클래스나 클래스들..
파이선 모듈과 패키지 사용하는 법. 리얼파이선 17 모듈은 변수, 연산, 제어, 함수 중에서 어디에 속할까요? 함수입니다. 모듈 자체에 변수, 연산, 제어, 함수 모두 들어있는 변수와 실행문의 집합일 뿐입니다. 파이선 모듈과 패키지 사용하는 법. 리얼파이선 17 모듈 파이썬 인터프리터를 종료한 후에 다시 들어가면, 여러분이 만들었던 정의들이 사라집니다 (함수나 변수들). 그래서, 좀 긴 프로그램을 쓰고자 한다면, 대신 인터프리터 입력을 편집기를 사용해서 준비한 후에 그 파일을 입력으로 사용해서 실행하는 것이 좋습니다. 이렇게 하는 것을 스크립트를 만든다고 합니다. 프로그램이 길어짐에 따라, 유지를 쉽게 하려고 여러 개의 파일로 나누고 싶을 수 있습니다. 여러 프로그램에서 썼던 편리한 함수를 각 프로그램에 정의를 복사하지 않고도 사용하고 싶을 수도 있습니다..
파이선 자료구조 딕셔너리 dictionary 와 루프 테크닉, 리얼파이선 16 파이썬에 내장된 또 하나의 유용한 자료형은 딕셔너리입니다 (매핑 형 - dict를 보세요). 딕셔너리는 종종 다른 언어들에서 《연관 메모리(associative memories)》 나 《연관 배열(associative arrays)》 의 형태로 발견됩니다. 숫자들로 인덱싱 되는 시퀀스와 달리, 딕셔너리는 키로 인덱싱 되는데, 모든 불변형을 사용할 수 있습니다; 문자열과 숫자들은 항상 키가 될 수 있습니다. 파이선 자료구조 딕셔너리 dictionary와 루프 테크닉, 리얼파이선 16 튜플이 문자열, 숫자, 튜플들만 포함하면, 키로 사용될 수 있습니다; 튜플이 직접적이나 간접적으로 가변 객체를 포함하면, 키로 사용될 수 없습니다. 리스트는 키로 사용할 수 없는데, 리스트는 인덱스 대입, 슬라이스 대입, ap..
파이선 자료구조 집합 Set 특징, 리얼파이선 15 파이선의 자료형 Set은 집합을 위한 자료형입니다. 집합은 중복되는 요소가 없고, 순서 없는 컬렉션입니다. 기본적인 용도는 멤버십 검사와 중복 엔트리 제거입니다. 집합 객체는 합집합, 교집합, 차집합, 대칭 차집합과 같은 수학적인 연산들도 지원합니다. 집합의 특징을 간단히 짚어보면 set() 키워드 혹은 중괄호를 이용합니다. 순서가 없습니다. 순서가 없기 때문에 인덱싱이 불가능합니다. 고유한 값을 가집니다. (값 중복 불가능) mutable(수정 가능한, 값이 변하는) 객체입니다. 파이선 자료구조 집합 Set 특징, 리얼파이선 15 집합을 만들 때는 중괄호나 set() 함수를 사용할 수 있습니다. 주의사항: 빈 집합을 만들려면 set() 을 사용해야 합니다. {} 가 아닙니다; 후자는 빈 딕셔너리를 만드..
파이선 자료구조 튜플 tuple 특성. 리얼파이선 14 리스트와 string 문자열이 인덱싱(항목 순서를 매기는 일)과 슬라이싱(일부분으로 자르는) 연산과 같은 많은 성질을 공유함을 보았습니다. 이것들은 시퀀스 자료 형의 두 가지 예입니다 (시퀀스 형 — list, tuple, range를 보세요). 파이썬은 진화하는 언어이기 때문에, 다른 시퀀스 자료형이 추가될 수도 있습니다. 다른 표준 시퀀스 자료 형이 있습니다: 바로 튜플입니다. 파이선 튜플은 list와 거의 비슷하지만 변경 불가능(Immutable)한 특성을 가지고 있습니다. 변경 가능한 특성은 뮤터블 mutable 이라고 합니다.) 리스트와 마찬가지로 튜플에 대해서도 슬라이스(잘라내기)와 인덱싱 등은 지원을 하지만 append, pop, remove 등은 지원하지 않습니다. 즉, 값을 가져올 수 있..
파이선 자료구조 List 사용법. 리얼 파이선 13 파이썬에는 다른 언어와 비슷하게 자료를 배열처럼 사용하는 방법이 있습니다. 물론 다른 언어에서 가지고 있는 배열과 비슷한 특징을 가지고 있으며, 추가 기능이 많습니다. 파이썬의 자료구조 형태중 하나로 List 리스트는 값을 순서대로 나열하는 데이터 구조라고 정의할 수 있겠습니다. 또한 List는 시퀀스 데이터 이기도 합니다. 시퀀스는 데이터의 순서를 정하는 것을 의미합니다. 순서를 가지고 있기 때문에 인덱스(index)를 사용하여 참조할 수 있습니다. 인덱스란 순서가 있는 항목의 일련번호를 뜻합니다. 파이선 자료구조 List 사용법. 리얼 파이선 13 파이썬에서의 시퀀스 자료형은(순서를 정함) string, list, tuple 자료형이 있으며, 시퀀스 자료형이 아닌 것은(순서를 정하지 않음) set, ..
파이선 입력과 출력. 리얼파이선 12 프로그램의 출력을 표현하는 여러 가지 방법이 있습니다; 사람이 일기에 적합한 형태로 데이터를 인쇄할 수도 있고, 나중에 사용하기 위해 파일에 쓸 수도 있습니다. 이 장에서는 몇 가지 가능성을 논합니다. 아래 문서는 파이선 한글 자습서 7장의 내용입니다. 서식 문자열, 포매팅 방법과 중복되는 내용이 있지만 반복적으로 실습하는 일은 무엇보다 중요합니다. ^^ 파이선 입력과 출력. 리얼파이선 12 장식적인 출력 포매팅 지금까지 우리는 값을 쓰는 두 가지 방법을 만났습니다: 표현식 문장과 print() 함수입니다. (세 번째 방법은 파일 객체의 write() 메서드를 사용하는 것입니다; 표준 출력 파일은 sys.stdout 로 참조할 수 있습니다. 이것에 대한 자세한 정보는 라이브러리 레퍼런스를 보세요.) 종종..