썸네일 [Python] Iterator과 Generator 💡 Iterator 'iteration'은 '되풀이, 순환'이라는 뜻의 단어이다. Python에서도 Iterator는 '순환할 수 있는 것'을 말한는데, 예를들면 리스트를 만들면 for문을 이용해서 리스트의 원소를 하나하나 꺼내 읽어올 수 있다. 즉, 순환하며 item을 하나씩 꺼내어 읽을 수 있는 것을 Iterator라고 한다. >>> mylist = [1, 2, 3] >>> for i in mylist: ... print(i) 1 2 3 여기서 mylist는 iterator이고, 순환할 수 있는 iterable이다. for [item] in [iterator]: 이렇게 for문으로 item을 하나하나 꺼내올 수 있는 모든 것은 iterator이다. (순환하며 하나하나 꺼내오기!) 💡 Generator..
썸네일 [Python Error Handling] ModuleNotFoundError even though Reauirements Satisfied | 패키지 설치하고도 에러가 난다면 🤬 나는 분명히 패키지를 설치를 했는데 자꾸 ModuleNotFoundError가 난다. uninstall하고 다시 install해봐도 같은 에러가 반복적으로 발생했다. 다시 설치하면 "Requirements Satisfied"라고 다 설치되었다고! 메시지가 뜨는데! 왜 자꾸 import가 안될까,,.. virtual environment를 사용하고 있어서 그런가 했지만 해결하고보니 가상환경 때문은 아니었다. Python module not found even though "Requirement Already satisfied in Pip" writing some python in OS X, and it's saying several packages I installed with pip "ImportErro..
썸네일 [python] 람다 함수 lambda function 💡 람다 함수 lambda function 람다lambda 함수는 함수의 이름 없이, 함수처럼 사용할 수 있는 익명의 함수이다. 즉, 이름을 지정하지 않아도 사용할 수 있는 함수이다. >>> f = lambda x, y : x + y >>> f(1, 4) 5 이렇게 람다 함수를 사용하면 def나 return을 작성하지 않아도 함수를 구현할 수 있다. lamda 뒤에는 매개변수를, ' : ' 뒤에는 반환할 값을 적어주면 된다. >>> (lambda x : x+1) (5) 6 lambda 함수에 바로 인수를 전달할 수도 있다. 💡 람다 함수를 사용하는 이유 람다 함수가 가장 유용할 때는 또다른 함수 안에서 익명의 함수를 사용할 때이다. (The power of lambda is better shown whe..
썸네일 [pythonic code] 리스트값을 출력하는 다양한 방법 enumerate() zip() 💡enumerate() enumerate()함수는 리스트의 값을 추출할 때 '인덱스를 붙여' 함께 출력하는 함수이다. >>>seasons = ['Spring', 'Summer', 'Fall', 'Winter'] >>>list(enumerate(seasons)) [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')] >>>list(enumerate(seasons, start=1)) [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')] enumerate()함수의 start 파라미터로 인덱스의 시작점도 지정할 수 있다. def enumerate(sequence, start=0): n = start for el..
썸네일 [pythonic code] 리스트 컴프리헨션 list comprehention 💡 리스트 컴프리헨션? 리스트 컴프리헨션이란 단순하게, 좀 더 간단한 방법으로 리스트를 만드는 방법이다. 0부터 9까지의 숫자가 나열된 리스트를 만든다고 할 때, 일반적인 반복문을 사용해서 리스트에 숫자를 추가하는 방법을 사용한다면 다음처럼 코드를 작성한다. result = [] for i in range(10): result.append(i) 여기서 리스트 컴프리헨션으로 리스트를 만들면 단 한줄로 코드를 작성할 수 있다. result = [x for x in range(10)] 요것이 바아로 리스트 컴프리헨션이다-! 💡 리스트 컴프리헨션을 사용하는 방법 1) IF문 (필터링) result = [i for i in range(10) if i % 2 == 0] 앞에서 작성한 리스트 컴프리헨션 코드에 if문..
썸네일 [python] ❗❓ 예외 처리 Exception Handling 예외 처리는 프로그램 실행에서 매우 중요하다. TV 리모컨을 조금만 잘못 눌러도 TV가 꺼져버린다면(실행이 중단되고 에러가 난다면) 좋은 TV라고 할 수 없을 것이다. 파이썬에서 대부분의 에러는 에러메시지와 함께 어디서 어떤 에러가 발생했는지 알려준다. 다음 코드의 "ZeroDivisionError", "NameError", "TypeError" 같이 built-in exception의 이름이 에러메시지에 출력된다. 이를 이용해서 우리는 예외 처리를 할 수 있다. >>> 10 * (1/0) Traceback (most recent call last): File "", line 1, in ZeroDivisionError: division by zero >>> 4 + spam*3 Traceback (most..
썸네일 [python] 📁파일 다루기 File Handling 컴퓨터를 실행할 때 가장 기본이 되는 단위, 파일! 파일의 종류는 다양하지만, 기본적으로 바이너리 파일binary file과 텍스트 파일text file, 두 가지로 분류 가능한다. 1. 파일의 종류 📌 Binary File 바이너리 파일은 이진 정보로 저장된 파일이다. 즉, bit 형태로 저장된 bytes 형태를 포함하고 있는 파일이다. 대부분, 정보를 효율적으로 저장하기 위해 파일 시스템을 이진 정보를 저장한다. 엑셀이나 워드가 모두 이진 정보로 저장된 이진 파일이다. 개발자들이 파일을 만들 때에도 필요한 정보를 이런 바이너리 형태로 저장한다. 바이너리 파일 형태를 파일 뿐만 아니라 이미지, 비디오, 오디오 등의 데이터를 저장할 수 있으며, 이렇게 바이너리로 저장된 데이터들은 또 다른 프로그램에 의해..