본문 바로가기

AI Basic/Python9

[Python] 09 Data Handling 01 CSV CSV Comma Separate Value, Character Separate Value 필드를 쉼표(,) 또는 그 외의 구분자로 구분한 텍스트 파일 엑셀 양식의 데이터를 프로그램에 상관 없이 쓰기 위한 데이터 형식 CSV 객체 import csv reader = csv.reader(f, delimiter=",", quotechar='"', quoting=csv.QUOTE_ALL) delimiter: 구분자 quotechar: 문자열을 둘러싸는 신호 문자 quoting: quotechar로 둘러쌀 레벨 (QUOTE_ALL / QUOTE_MINIMAL) 파이썬에서의 CSV 유동 인구 데이터로부터 성남시 데이터만 수집 import csv seoung_nam_data = [] header = [.. 2023. 3. 8.
[Python] 08 File & Exception & Log Handling 01 Exception Handling 01-1 Exception 예상 가능한 예외와 예상 불가능한 예외 예상 가능한 예외 발생 여부를 사전에 인지할 수 있는 예외 ex. 사용자의 잘못된 입력, → 개발자가 반드시 명시적으로 정의해야 함 예상 불가능한 예외 인터프리팅 과정에서 발생하는 예외 예외 처리 Exception Handling 프로그램은 제품이므로, 모든 잘못된 상황에 대한 대처가 필요 exception의 종류 Built-in Exception 예시 Exception 이름 내용 IndexError list의 index 범위를 넘어갈 때 NameError 존재하지 않는 변수를 호출할 때 ZeroDivisionError 0으로 숫자를 나눌 때 ValueError 변환할 수 없는 문자/숫자를 변환할 때.. 2023. 3. 8.
[Python] 07 Python Object Oriented Programming 01 객체지향 프로그래밍 개요 OOP에서의 ‘객체’ 속성(attribute)과 행동(method)을 가지는 것 OOP의 구성 요소 클래스(class): 객체의 설계도 인스턴스(instance): 클래스로 구현한 객체 02 Objects in Python class 선언하기 class SoccerPlayer(object): class: class 예약어 SoccerPlayer: 클래스 이름 object: 상속 받는 부모 클래스. object 클래스는 python3에서 자동 상속되므로 생략 가능 cf. Python naming rule snake_case (띄어쓰기 부분에 _ 사용) → 변수명 / 함수명의 작명 방식 CamelCase (단어의 첫 글자를 대문자로 작성) → Class명의 작명 방식 attri.. 2023. 3. 7.
[Python] 06 Pythonic Code 00 Overview Pythonic code 파이썬 스타일의 코딩 기법 파이썬 특유의 문법을 활용하여 코드를 효율적으로 작성하는 방법 but, 많은 언어들이 서로의 장점을 채용하며 발전해온 결과, 위에서 언급한 ‘파이썬 특유의 문법’은 더 이상 파이썬의 고유한 문법은 아니게 됨 01 split & join split(): string type의 값을 ‘기준값’으로 나눠서 list 형태로 변환 join(): string으로 구성된 list를 합쳐 하나의 string으로 변환 colors = ["red", "orange", "yellow", "green"] result1 = ", ".join(colors) print("result1:", result1) result2 = result1.split(", ").. 2023. 3. 7.
[Python] 05 Python Data Structure 01 Data Structure 01-1 Stack 스택 Stack Last In First Out (LIFO) 나중에 넣은 데이터를 먼저 반환하도록 설계된 메모리 구조 스택 관련 메서드 S.push(e): element e를 stack S의 맨 위에 추가 S.pop(): stack S의 맨 위 element를 삭제하고 return S.top(): stack S의 맨 위 element를 삭제하지 않고 그 주소를 return S.is_empty(): stack S에 element가 없는 경우 true를 return len(S): stack S의 element의 개수를 return Stack with list object S = [1, 2, 3, 4, 5] S.append(10) # push. S = [1,.. 2023. 3. 7.
[Python] 04 Advanced Function Concept 01 call by object reference 함수에서 parameter를 전달하는 방식 값에 의한 호출 call by value 함수에 인자를 넘길 때 값이 복사되어 함수로 전달되는 방식 → 함수 내에 인자 값 변경 시, 호출자에게 영향을 주지 않음 def swap_value(x, y): temp = x # 값이 복사되어 함수로 전달됨 -> 호출자에게 영향을 주지 않음 x = y y = temp x = 4 y = 5 swap_value(x, y) print(x, y) # 4 5 참조에 의한 호출 call by reference 함수에 인자를 넘길 때 메모리 주소가 함수로 전달되는 방식 → 함수 내에 인자 값 변경 시, 호출자의 값도 변경됨 객체 참조에 의한 호출 call by object refer.. 2023. 3. 7.
[Python] 03 Conditions and Loops 01 condition 조건문 조건에 따라 특정한 동작을 하게 하는 명령어 조건을 나타내는 기준과 실행해야 할 명령으로 구성됨 조건의 참, 거짓에 따라 실행해야 할 명령이 수행되거나 수행되지 않음 01-1 if 조건문 if문의 기본구조 들여쓰기 O if 조건문: 수행할 문장 1 수행할 문장 2 ... elif 조건문: 수행할 문장 1 수행할 문장 2 ... else: 수행할 문장 1 수행할 문장 2 ... 들여쓰기 X if 조건문: 수행할 문장 elif 조건문: 수행할 문장 else: 수행할 문장 삼항 연산자 (Ternary operator): 조건문을 사용하여 참일 경우와 거짓일 경우의 결과를 한줄에 표현 [true value] if [condition] else [false value] 비교 연산자 .. 2023. 3. 7.
[Python] 02 Functions & Console IO 포스팅 개요 본 포스팅은 파이썬에서의 함수 작성법과 input, output에 대해 정리한 글입니다. 01 Functions 01-1 함수란 무엇인가? 함수 어떤 일을 수행하는 코드의 덩어리 함수의 특징 반복적으로 수행할 작업을 최초 한 번만 함수의 형태로 작성하면, 이후부터는 해당 함수를 호출하기만 함으로써 같은 작업을 반복할 수 있음 코드를 논리적인 단위로 분리 하나의 코드 = 하나의 보고서 캡슐화: 세부적인 내용을 알지 못해도 인터페이스만 알면 타인의 코드를 쉽게 사용할 수 있다 cf. 프로그래밍에서의 함수 vs 수학에서의 함수 입력 값과 출력 값으로 구성된다는 점에서 프로그래밍에서의 함수와 수학에서의 함수는 유사하다 cf. 함수 vs 메서드 함수 function: 특정 작업을 수행하도록 구성된 것.. 2023. 3. 6.
[Python] 01 Variables and Data Type 포스팅 개요 본 포스팅은 프로그래밍에서의 변수와 파이썬의 data type에 대해 정리한 글입니다. 01 Variables & Memory variable 변수 변수는 value(값)을 저장하기 위한 메모리의 주소에 부여한 프로그래밍 상의 이름 변수에 할당된 값은 변수가 가리키고 있는 메모리에 저장됨 a = 5 b = 3 a + b # a, b: variable # 5, 3: value # 5, 3이라는 값들은 a, b라는 variable이 가리키고 있는 메모리 상에 저장된다 변수명 작명 방법 변수명은 알파벳, 숫자, 언더스코어(_)로 구성한다 ex. num = 1, string_1 = “hi” 변수명은 의미 있는 단어로 표기하는 것이 좋다 ex. name = “hailey” 변수명은 대소문자를 구분한다.. 2023. 3. 6.