본문 바로가기

Study14

[Python #5] Class, Module, Package Class : 클래스란 관련된 '속성'과 '동작'을 하나의 범주로 묶어 실세계의 사물을 흉내낸 것 - 객체지향의 가장 기본적인 개념이 클래스 - 스크립트 언어는 원래 가볍게 쓰는 것이 주목적이라 객체지향을 지원하는 경우가 드물지만 파이썬은 스크립트 언어임에도 클래스 정의, 연산자 오버로딩, 다중상속을 지원한다. (하지만 진짜 객체지향언어에 비해 형식성이 떨이지고 기능도 많이 부족) - 사물을 분석하여 필요한 속성과 동작을 추출 -> 모델링 - 모델링된 결과를 클래스로 포장하는 것 -> 캡슐화 - 아래 코드예제는 계좌라는 실세계의 사물(Object)를 표현하는 하나의 묶음 : 연관된 정보는 한 곳에 모여있어야 관리가 용이 balance = 8000# 잔액 def deposit(money):# 입출금 동작 .. 2021. 10. 31.
[Python #5] Dictionary, Set, Collection Dictionary (사전) - Dictionary : 키와 값의 쌍을 저장하는 대용량의 자료구조 * 해시 알고리즘을 사용하여 일대일로 대응되는 특성이 있으므로 자바의 HashMap이랑 비슷 * 파이썬에서는 내장되어 있으므로 라이브러리 없이 언제든지 사용 가능 * 사전을 정의할 때 { }괄호 안에 '키:값' 형태로 콤마로 구분하여 나열 * 사전은 빠른 검색을 위해 해쉬를 이용한 키로부터 저장 위치를 결정 * 최대한 찾기 쉬운위치에 저장하므로 생성 시의 순서를 유지하지 않지만 검색 속도가 빠름 * 키 : 값을 찾는 기준으로 고유의 값을 가지고 변경이 불가능 -> 튜플을 키로 쓸 수 있지만 리스트는 키로 쓸 수 없다! * 값 : 자유롭게 변경이 가능 - 사전 예시 dic = {'boy' : '소년', 'gi.. 2021. 10. 10.
[Python #4] File Stream : cpu와 연결된 키보드, 마우스, 저장 장치, 네트워크 등 모든 주변 장치의 입력과 출력을 byte들의 흐름으로 생각하는 것 - Standard stream * 기본적인 스트림들은 프로그래머가 생성하지 않아도 프로세스가 시작되면 자동으로 생성 이름 스트림 연결 장치 표준파일 넘버 stdin 표준 입력 스트림 키보드 0 stdout 표준 출력 스트림 모니터 화면 1 stderr 표준 오류 스트림 모니터 화면 2 파일 입출력 - 파일열기 open (파일경로, 모드) * 프로그램이 생성한 정보를 영구적으로 저장하기 위해 파일에 기록 * 파일 입출력을 위해 파일 위치를 확인하고 버퍼를 준비하는 과정을 하는 것이 open 함수 * 파일경로 : 입출력 대상의 이름. 디렉토리 경로 포함해서 쓰거나 파.. 2021. 10. 7.
[Python #3] String, List & Tuple 문자열 - 문자열 관리 * 파이썬은 문자열을 기본 타입으로 지원하고 문자열 조작을 위한 다양한 명령 제공 * 첨자는 앞에서 셀 수도 있고 뒤에서 셀수도 있음 * 앞에서 셀 때는 0부터 시작하여 1씩 증가 * 뒤에서 셀 때는 -1부터 시작하여 1씩 감소 * 문자열은 문자로 구성된 리스트(Collection) 의 일종이므로 for문으로 순회 가능 * Immutable하다 (변경 불가능) : 개별 문자를 읽을 수 있지만, 다른 문자를 대입/삽입/삭제 불가 (메모리 절약 및 속도 개선) -슬라이스(Slice) [begin:end:step] * 부분 문자열 추출 * 괄호 안에 [ 시작, 끝, 증가값 ] 지정 : range함수와 같은 구조 - 슬라이스 예제 * 추출된 문자열은 원본 문자열과는 별개 s = 'pyth.. 2021. 10. 5.
Push 오류 ! [rejected] master -> master (fetch first) 에러 - 잘되다가 가끔씩 다음과 같은 오류가 뜰 때가 있다 - git에서 알려준대로 git push --set-upstream origin master 라는 명령어를 써봐도 계속 오류가 뜸 - 찾아보니 기존 데이터가 손실될 위험이 있어서 푸쉬를 막았다고 한다. 하지만 나는 그냥 내 코드를 올리기만 하고 내려받을 일은 크게 없기때문에 그냥 강제 명령으로 푸쉬해주면 된다. git push origin +master - 일단은 해결 2021. 10. 5.
[Python #2] Loop & Function 반복문 - while 반복문 * 조건식 후에 꼭 ' : ' 빼먹지 말기 * 여러 개의 명령을 쓸 경우, 블록의 들여쓰기 규칙을 잘 지켜야 에러가 나지 않음 while 조건: 명령 - for 반복문 * 컬렉션의 요소를 순서대로 반복하면서 루프의 명령을 실행 * 컬렉션은 리스트, 문자열, HashTable 이 대표적 for 제어변수 in 컬렉션: 명령 함수 - 일련의 코드 블록에 이름을 붙여 정의한 것 - 반복적으로 사용되는 코드는 한 번 정의해두고 계속 사용 - def키워드를 앞에 쓴 후 함수이름 정의 - 매개변수가 있는 경우 자료형 없이 이름만 나열 - 함수를 호출하기 전에 먼저 함수를 정의해야 함(-> 인터프리터 방식이므로 한줄 한줄 해석하며 바로 기계어 변환) def 함수명(인수 목록) : 본체 - .. 2021. 9. 23.