전체 글 160

[Python] Filter, Map, Reduce

■ Filter, Map, Reduce filter() : 리스트의 요소 중 조건에 맞는 것만 골라 리스트로 리턴 map() : 리스트를 변환 함수로 처리 후 그 결과를 리스트로 리턴 reduce() : 리스트를 집계 함수로 처리 후 그 결과를 단일의 값으로 리턴 ○ 집계 함수는 두개의 인자를 받는다. 첫 번째 인자는 누적자가 되고, 두 번째 인자에는 현재 값이 넘어오게 된다. ○ Sequence 자료형 각 element에 동일한 function을 적용함. 빅데이터에서 매우 중요. - map(function_name, list_data) - reduce(function_name, list_data) def flunk(s): return s < 60 # 60점 미만인 것만 True값을 반환 score = ..

[Python] Lambda

■ Lambda 함수란? 단일문으로 표현되는 익명 함수 Lambda, map, reduce는 간단한 코드로 다양한 기능을 제공 그러나 코드의 직관성이 떨어져서 lambda나 reduce는 파이썬3에서 사용을 권장하지 않음 파이썬3부터는 권장하지는 않으나 Legacy library나 다양한 머신러닝 코드에서 여전히 많이 쓰임 작은 함수를 정의하고 이들을 호출해서 얻은 모든 결과값을 저장해야 하는 경우에 유용 콜백 함수를 정의하는 GUI에서 람다를 사용할 수 있다. def myfunc(x, y): return x + y result = myfunc(10, 20) print(result) result2 = lambda x, y : x + y # 익명 함수 print(result2(10,20)) 30 30 a ..

[Python] 표준모듈 (math, time, random 등)

■ import 모듈은 파이썬 코드를 작성해 놓은 스크립트 파일이다. 스크립트 파일 안에는 함수, 변수, 클래스 등이 정의되어 있다. 외부의 모듈을 가져와 사용할 때는 import 명령을 사용한다. 모듈에 포함된 함수를 호출할 때는 함수명 앞에 모듈명을 붙인다. 특정 함수나 클래스만 import하고자 할 때는 다음 구문을 사용한다 from 모듈 import 함수명, 클래스명 모듈의 모든 함수를 불러올 떄는 함수명 자리에 * 문자를 사용 모듈의 이름이 길고 복잡할 때는 as 다음에 별칭을 지정할 수 있다. import 모듈 as 별칭 ■ math 모듈 - 수학 연산에 필요한 상수와 연산 함수를 제공 함수명 설명 sqrt(x) x의 제곱근을 구한다 pow(x, y) x의 y승을 구한다 ceil(x) 올림 값..

[Python] I/O (입출력)

1. 표준 입출력 ■ 표준 입력 - input() - 입력 받은 모든 데이터는 문자열이다. ■ 표준 출력 - print() 2. File I/O ■ File Open 파일 객체 = open(파일 이름, 파일 열기 모드) ■ File Open Mode 파일열기모드 설명 r (읽기모드) 파일을 읽기전용으로 open할 때 사용 모드를 생략할 경우 r 모드로 설정 w (쓰기모드) 파일에 내용을 쓸 때 사용 파일을 쓰기 모드로 열게 되면 해당 파일이 이미 존재할 경우 원래 있던 내용이 모두 사라지고, 해당 파일이 존재하지 않으면 새로운 파일 생성 a (추가모드) 파일의 마지막에 새로운 내용을 추가시킬 때 사용 t (문자열) 파일에 저장되는 데이터가 문자열임을 나타냄 (default) b (binary) binar..

[Python] File과 Directory

■ os 모듈 경로명과 파일명에 대한 함수를 제공하는 모듈이다. 특정 경로에 위치한 파일과 디렉토리 목록을 구한다. os 모듈 설명 os.chdir(경로) 작업 디렉토리를 변경한다 os.getcwd() 현재 작업 디렉토리의 경로를 얻는다 os.listdir(경로) 지정된 경로 하위의 파일(디렉토리 포함)을 리스트로 반환한다 os.mkdir(경로) 지정된 경로에 디렉토리(폴더)를 만든다 os.rmdir(경로) 지정된 경로의 디렉토리(폴더)를 삭제한다 (파일이 포함되어 있으면 삭제가 안된다) os.remove(경로) 지정된 경로에 있는 파일을 삭제한다 os.path 모듈 설명 os.path.isdir(경로) 경로의 디렉토리 여부를 True/False로 반환한다 os.path.isfile(경로) 경로의 파일 ..

[Python] 예외처리

■ 예외란? 프로그램의 실행 도중에 만날 수 있는 오류들을 Exception이라고 한다. 파이썬에서 안정적인 프로그래밍 작성을 위해 try, except를 이용해서 오류처리를 할 수 있다. ■ 예외의 종류 예외 설명 NameError 초기화하지 않은 변수를 사용할 때 발생 ValueError 타입이 맞지만 값의 형식이 잘못되었을 경우 발생 ZeroDivisionError 0으로 나누었을 때 발생 IndexError 첨자가 범위를 벗어났을 때 발생 TypeError 타입이 맞지 않은 경우 발생 # 예외 발생 상황 a = [1,2,3,4,5] print(a[5]) # IndexError 발생 b = '1234a' c = int(b) # ValueError 발생 f = open('notexists.txt', ..

[Python] 클래스 - 1

■ Python Class의 특징 - 멤버가 있으나 자바와는 다르게 멤버변수는 전부 public이다. ■ 클래스의 선언과 생성 # 클래스의 이름은 대문자로 시작한다. class FourCal: # self: 생성된 자기 자신의 객체 참조값을 받기 위한 매개변수 def setData(self, first, second): self.first = first # 멤버 변수를 정의하는 방법 self.second = second # 클래스 생성 시 명시적인 생성자를 만들어 주지 않으면 기본 생성자(__init__())는 자동으로 만들어 준다. # 생성자는 객체 생성 시 멤버변수를 초기화 해주는 역할을 한다. # FourCal 클래스의 객체 생성, FourCal()은 생성자로서 FourCal 클래스의 __init_..

[Python] 클래스 - 2

■ 사용자 정의 예외 클래스 만들기 특정 상황에 맞는 예외 클래스를 프로그래머가 직접 만들어 사용하는 것을 사용자 정의 예외라고 한다. Exception 클래스를 상속 받아서 만든다. 생성자에서 부모 클래스의 생성자를 호출해서 예외 메세지를 전달하거나 또는 __str__ 메서드를 오버라이딩하여 예외 메세지를 설정한다 class MyException(Exception): def __init__(self, msg): super().__init__(msg) def __str__(self): return 'My Exception' num = int(input('양의 정수 입력:')) if num