본문 바로가기

Language/Python15

[Python] 함수는 1급 객체이다 전문적인 정보를 다루는 것이 아닌 개인적으로 학습한 내용에 대해 포스팅을 했기 때문에 이점을 감안하여 봐주시면 감사하겠습니다👏 정수나 문자열은 1급 객체(first-class object)이다. 따라서 변수, 매개변수, 반환값 등에 정의해서 사용할 수 있다. 함수도 1급 객체로 다른 객체와 같은 방식으로 사용할 수 있고 함수도 1급 객체라는 뜻입니다. 1급 객체의 중요한 특징 - 변수나 데이터 구조 안에 담을 수 있다 - 매개변수로 전달이 가능하다 - 리턴값으로 사용할 수 있다 1. 변수나 데이터 구조 안에 담을 수 있다 def func(x, y): return x, y print(type(func)) >>> 이 함수는 2개의 매개변수를 그대로 반환하는 함수입니다. 함수도 객체이기에 변수 func을 조회.. 2021. 7. 16.
[Python] 컴프리헨션 1부터 10까지 정수를 순서대로 가지고 있는 리스트를 생성하는 코드는 다음과 같습니다. numbers = [] for n in range(1, 10+1): numbers.append(n) 위의 표현을 내부에 수식을 작성해서 리스트 내부에 코드를 작성하는 것을 컴프리헨션이라고 합니다. [x for x in range(10)] 리스트를 생성하는 방식은 대괄호([])를 통해 생성하는 방법은 동일합니다. 차이점은 컴프리헨션은 리스트 내부에 코드를 작성한다는 점입니다. 만약 딕셔너리 컴프리헨션 또는 셋 컴프리헨션 문법을 사용할때는 대괄호를 사용합니다. 반복문은 별도로 작성하지 않고 리스트 컴프리헨션은 리스트 내부에 작성하여 반복합니다. 리스트 컴프리헨션은 for문에서 반복되는 변수를 콜론(:)다음에 줄을 바꿔 들.. 2021. 7. 8.
[Python] ModuleNotFoundError: No module named 'encodings' 해결방법 기존에 기존 파이썬 인터프리터 3.8.1을 설치하여 사용중이였는데, 모듈 설치시에 의존성에 문제가 생길 것 같아, 기존 파이썬을 제거 후에 아나콘다를 설치하게 되었다. 아나콘다를 설치하고, 실행시 아래와 같이 에러가 뜨면서 Anaconda Navigator나 jypter notebook이 작동이 되지않고 바로 죽어버리는 현상이 있었다. Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding Python runtime state: core initialized ModuleNotFoundError: No module named 'encodings' 문제가 발생한 원인을 열심히 찾아본 결과 기존.. 2021. 3. 1.