본문 바로가기

Python58

[Python] 파이썬 filter() 함수 사용법 및 예제 파이썬 filter() 함수는 파이썬의 튜플, 리스트, 문자열 같은 시퀀스 자료형에 사용할 수 있는 유용한 함수다. 시퀀스 자료형에 들어있는 엘리먼트들 중에 특정 함수를 적용해서 True가 리턴되는 엘리먼트들만 걸러서(filter) 가져오는데 사용된다. 파이썬 filter() 함수 filter() 함수는 다음과 같이 생겼다. filter(함수, 시퀀스) filter() 함수의 첫 번째 인자로는 함수가 온다. 두 번째 인자로는 리스트, 튜플, 문자열 같은 시퀀스 자료형의 객체가 온다. 시퀀스 자료형의 모든 엘리먼트에 함수를 적용하여 결과에 포함할지 여부를 결정한다. filter() 자체는 filter 객체를 리턴하기 대문에 해당 자료형을 list 혹은 tuple로 변환시켜줘야 한다. 예를 들어보자. def.. 2022. 11. 8.
[Python] 파이썬 map() 함수 사용법 및 예제 map() 함수는 파이썬의 튜플, 리스트, 문자열 같은 시퀀스 자료형에 사용할 수 있는 유용한 함수다. 시퀀스 자료형에 들어있는 엘리먼트들에 어떤 작업을 가하고, 그 결과를 얻어오는데 사용된다. 파이썬 map() 함수 map() 함수는 다음과 같이 생겼다. map(함수, 시퀀스) map() 함수의 첫 번째 인자로는 함수가 온다. 두 번째 인자로는 리스트, 튜플, 문자열 같은 시퀀스 자료형의 객체가 온다. 시퀀스 자료형의 모든 엘리먼트에 함수를 적용한 결과를 또 다른 시퀀스 자료형으로 담아준다. map() 함수 자체는 map 객체를 리턴하기 때문에 해당 자료형을 list 혹은 tuple로 변환시켜줘야한다. 예를 들어보자. def increase(a): return a + 1 numbers = [1, 3, .. 2022. 11. 8.
[Python] 파이썬 람다(lambda) 함수 사용법 및 예제 모던 프로그래밍 언어들은 '람다(lambda)' 함수라고 하는 기능을 제공한다. 람다는 익명 함수(Anonymous functions)를 의미하기도 한다. 람다를 이용하면 함수의 선언이 짧아지고, 함수 자체를 다른 함수의 인자로 넘길 수 있다는 유연함을 얻을 수 있다. 파이썬 람다 파이썬에서도 람다(lambda)가 지원된다. 파이썬의 람다는 다음과 같이 선언할 수 있다. lambda 매개변수 : 표현식 예를 들어 두 개의 인자를 받아서 값을 더해주는 함수는 다음과 같이 선언할 수 있다. def hap(a, b): return a + b print(hap(1, 2)) # 3 이 함수를 람다로 표현해서 다음과 같이 사용할 수 있다. result = (lambda a, b : a + b)(1, 2) print.. 2022. 11. 8.
[Python] 파이썬 base64 인코딩, 디코딩 사용법 및 예제 base64는 바이너리 데이터를 ASCII 문자만으로 표현하기 위해 만들어진 인코딩 방법이다. ASCII 문자 하나가 64진법 숫자 하나를 의미하기 때문에 BASE64라는 이름을 가지게 되었다. 파이썬에서는 base64 모듈을 통해서 바이너리 데이터를 base64로 인코딩하거나 base64로 표현된 정보를 디코딩해서 바이너리 데이터로 가져올 수 있다. base64 인코딩 바이트 데이터를 base64 인코딩을 해보자. import base64 str = '안녕?' bytes = str.encode('UTF-8') result = base64.b64encode(bytes) result_str = result.decode('ascii') print(result_str) # 7JWI64WVPw== 우선 base.. 2022. 11. 8.
[Python] 타임스탬프 시간과 문자열 형태의 날짜(년-월-일) 변환하는 방법 - datetime 모듈 사용법 프로그래밍에서 가장 많이 변환되는 데이터는 아마도 타임스탬프(timestamp) 데이터일 것이다. 타임스탬프는 시간을 밀리세컨드로 단위로 나타낸 값으로 1667830753 같은 숫자로 표시된다. 숫자로 표현되는 타임스탬프는 프로그램에서 다루기 편하다. 하지만 사람이 알아보기는 무척이나 힘들다. 1667830753 라는 타임스탬프 값을 보고 2022년 11월 7일 오후 11시 19분 13초를 바로 떠올릴 수 있는 사람은 거의 없을 것이다. 따라서 로그 형태로 날짜 데이터를 출력하는 등 사람이 알아봐야 할 때에는 타임스탬프 시간을 문자열 형태의 년-월-일로 변환할 필요가 있다. datetime 모듈 타임스탬프를 문자열 형태의 날짜로 변환하기 위해서 datetime 모듈을 사용할 수 있다. 예를 들어보자. i.. 2022. 11. 7.
[Python] 파이썬 피클(pickle) 모듈 사용법 및 예제 파이썬의 내장 모듈인 '피클(pickle)'은 딕셔너리나 리스트 아니면 다른 클래스 등의 자료형을 별도의 변환없이 그대로 파일로 저장하고 필요할 때 이를 불러다 사용할 수 있는 모듈이다. 파이썬 피클(pickle) 파이썬을 이용해서 데이터를 다룰 때 오래걸리는 처리 작업이 있을 수 있다. 예를 들어서 수십기가짜리 텍스트 파일을 파싱해서 원하는 데이터를 추출하는 경우를 생각해보자. 프로그램이 실행될 때마다 매번 수십기가짜리 텍스트 파일을 파싱한다면 매우 비효율적이다. 따라서 파싱된 결과를 담고 있는 리스트나 딕셔너리, 특정 클래스들을 파일로 저장해둔다면 매번 텍스트 파일을 파싱하는 대신 미리 파싱해놓은 리스트나 딕셔너리, 특정 클래스를 파일에서 읽기만 하면 된다. 파이썬의 피클(pickle)은 파이썬 객체.. 2022. 11. 7.
[Python] 파이썬 assert 사용법 및 예제 프로그래머가 작성한 소스코드는 시간이 지남에 따라 기능이 추가되고 버그가 수정되면서 조금씩 바뀐다. 이렇게 바뀌다보면 프로그램의 일부 소스코드가 처음 의도한대로 사용되지 않을 가능성이 있다. 일부 기능들은 의도한대로 동작하지 않을 경우 치명적일 수도 있다. (예를 들어 파일을 삭제한다던지...) 파이썬 assert 이런 치명적인 오류를 막기 위해서 소스코드 중간중간 assert 구문을 넣을 수 있다. assert는 '주장하다', '확고히하다'라는 뜻을 가지고 있는 영단어다. 즉, assert 구문이 들어가는 코드부분에서 어떤 조건이 참임을 확고히하는 것이다. 그 조건이 거짓이면 에러상황으로 실행을 계속하지 못하게 하는 것이다. 파이썬의 assert 구문은 다음과 같은 문법으로 사용할 수 있다. asser.. 2022. 11. 7.
[Python] 파이썬 eval() 함수 사용법 및 예제 파이썬은 eval()이라는 함수를 지원한다. 파이썬의 eval() 함수는 문자열로 표현되는 표현식(expression)을 실행해서 결과값을 받아오는 함수다. 예를 들어보자. exp = "1 + 2" result = eval(exp) print(result) # 3 eval() 함수는 문자열로 표현되어 있는 "1 + 2"라는 표현식의 값을 평가해서 리턴해준다. 1 + 2의 결과값은 3이므로 3이 화면에 출력된다. 문자열 표현식을 실행해준다는 점이 이 함수의 강력한 점인데, 사용자의 입력을 받아서 eval() 함수로 실행할 수도 있다. while True: exp = input('표현식 : ') if exp == 'exit': break result = eval(exp) print(result) # 표현식 .. 2022. 11. 7.
[Python] 파이썬 sleep() 사용법 및 예제 파이썬 프로그램을 작성하다보면 일정시간동안 실행을 멈춰야 하는 경우가 있다. 대표적으로 반복문 내부에서 어떤 상태를 반복적으로 확인하는 '폴링(polling)' 작업을 할 때, 불필요하게 너무 자주 상태를 확인하지 않도록 중간중간 실행을 멈춰야하는 경우가 있다. 다른 프로그래밍 언어처럼 파이썬도 sleep() 함수를 통해 이런 기능을 사용할 수 있다. 파이썬의 sleep() 함수는 time 라이브러리에 존재한다. 예를 들어보자. import time count = 0 while count < 10: print('sleep!!') time.sleep(2) count = count + 1 print('finished') # sleep!! # sleep!! # sleep!! # sleep!! # sleep!!.. 2022. 11. 4.