목차 1. CSV comma separate value 엑셀 양식의 데이터를 프로그램에 상관없이 쓰기 위한 데이터 형식 탭(TSV), 빈칸(SSV) 등으로 구분해서 만들기도 함 통칭하여 character-separated values(CSV) 라고 부름 csv 모듈보다는 pandas를 많이사용 import csv # delimiter는 데이터를 자르는 기준 # quotation은 "로 되어있다 => "abc, def"가 있을경우 ""안의 ,는 구분자로 사용안함 reader = csv.reader(f, delimiter=",", quotechar='"', quoting=csv.QUOTE_ALL) import csv header = [] rownum = 0 with open("temp.csv","r", en..
1. Exception Handling(예외처리) 예외가 발생할 경우 후속조치 등 대처필요 Exception을 잡게되면 프로그램 코드는 계속 진행하지만 Exception을 잡지 못하고 에러가 발생하게 되면 프로그램이 멈춤 try: # 예외 발생 가능 코드 except : # 예외 발생시 대응하는 코드 except Exception as e: print(e) -> 위에서 잡아내지 않은 에러에 대해 마지막에 모든 Exception 처리 else: # 예외가 발생하지 않을 때 동작하는 코드 finally: # 예외와 상관없이 실행되는 코드 raise 강제로 에러를 만들어냄 raise 예외정보 raise ValueError("숫자가아닙니다") assert 특정 조건에 만족하지 않을 경우 예외발생 assert 뒤..
목차 1. Module 프로그램에서 사용되는 작은 프로그램 조각들 프로그램을 모듈화 시키면 다른 프로그램이 사용하기 쉬움 파이썬의 module은 py파일을 의미 import문을 사용해서 호출 # 두개의 파일이 같은경로에 있는경우 # my_module.py def make_hi(): return "hi" # ex.py import my_module hi = my_module.make_hi() print(hi) => hi 1-1 namespace 파이썬 파일을 import 하는 방법 1) alias - import my_module as my_m 2) 특정 함수 또는 클래스만 호출하기 - from my_module import make_hi 3) 모듈에서 모든함수 또는 클래스를 호출하기 - from my_m..
목차 1. OOP 객체: 속성(attribute)와 행동(action)을 가짐 속성은 변수(variable), 행동은 함수(method)로 표현 OOP는 이러한 객체 개념을 프로그램으로 표현 OOP는 설계도에 해당하는 클래스(class)와 실제 구현체인 인스턴스(instance)로 나눔 2. class class SoccerPlayer(object): def __init__(self, name, position, back_number): self.name = name self.position = position self.back_number = back_number # class 예약어 # class명(SoccerPlayer)은 camelcase naming rule을 사용함 ( 띄어쓰기 부분에 대문자 ..
Pythonic 파이썬 스타일의 코딩기법 파이썬 특유의 문법을 활용하여 효율적으로 코드를 표현하는 기법 그러나 더이상 파이썬 특유는 아님, 많은 언어들이 서로의 장점을 채용 남의 코드에대한 이해도를 높여줌 효율성이 조금 더 좋음 Pythonic Contents 목차 추후 업로드 1. split & join 2. list comprehension ex_1 ) result_1 = [i for i in range(10)] result_1 => [0,1,2,3,4,5,6,7,8,9] result_2 = [i for i in range(10) if i%2 == 0] result_2 => [0,2,4,8] ex_2 ) word_1 = ["a","b","c"] word_2 = ["d","e","f"] result =..
목차 Stack String Slicing String 내장함수 String 내부 따옴표 사용 String 다음줄 표현 Raw String 1. Stack LIFO 구조( Last In First Out ) append 함수로 리스트에 데이터를 입력 pop 함수로 리스트에 데이터를 꺼내옴 택배 화물차를 생각 a = [1,2,3,4,5] a.append(6) a.append(7) print(a) -> [1,2,3,4,5,6,7] c = a.pop() print(c) -> 7 print(a) -> [1,2,3,4,5,6] 2. Queue FIFO ( First In First Out ) 3. Tuple 튜플은 값의 변경이 불가능함 프로그램을 작동하는 동안 사용자의 실수에 의한 에러를 사전에 방지 t = (1..
목차 함수에서 parameter값 전달하는 방식 1. 함수에서 parameter값 전달하는 방식 Call by Value (값에 의한 호출) 함수에 인자를 넘길 때 값만 넘김 함수내에 인자 변경시 호출자에게 영향이 가지 않음 Call by Reference (참조에 의한 호출) 함수에 인자를 넘길 때 메모리 주소를 넘김 함수내에 인자값 변경시 호출자의 값도 변경됨 Call by Object Reference 또는 Call by assignment (객체 참조에 의한 호출) Python에서 사용하는 방식 객체의 주소가 함수로 전달 전달된 객체를 참조하여 변경 시 호출자에게 영향을 줌 하지만 전달받은 객체에 새롭게 값을 할당할 경우 호출자에게 영향을 주지 않음 def re(x): x.append(1) pri..
Precourse를 학습하면서 조금씩 정리를 시작해보기로했다. 목차 인코딩 String Slicing String 내장함수 String 내부 따옴표 사용 String 다음줄 표현 Raw String 인코딩 우리가 사용하는 문자열은 모두 2진수로 변환해서 저장하는데 변환하는 방법으로 UTF-8을 주로 사용한다. String 슬라이싱 a = "abcdefg" a[:] => "abcdefg" # 전체 지정 a[::2] => "aceg" # 두칸씩 이동해서 return a[::-1] => "gfedcba" 역순 return String 내장함수 a = "abcDefg" len(a) => 7 #a의 개수반환 a.upper() => "ABCDEFG" #a를 전부 대문자로 변환하여 반환 (a는 변하지않음) a.low..