전체 글 썸네일형 리스트형 [python 21] 사용자 정의 식별자와 참조 범위 이번 글에서는 사용자 정의 식별자 (user defined identifier) 와 참조 범위 (scope)에 대해 살펴보도록 하자. 이를 설명하기 전에, 잠시 모듈의 개념에 대해 살펴보기로 한다. ○ 모듈 (modules)과 패키지 (packages) 논의를 진행하기 위해 우선 파이썬 모듈(module)에 대해 살펴보도록 하자. 하나의 모듈은 물리적으로 하나의 파일이다. 하나의 파일 내에는 여러개의 함수와 여러개의 변수가 포함될 수 있다. 아래의 abcd.py 파일에는 3개의 선언이 포함되어 있다. 먼저 2개의 함수 hap( ) 과 average( ) 가 선언되어 있고, data 라는 변수가 하나 선언되어 있다. 위의 파일을 %load 또는 %run 매직 명령어를 이용하여 주피터 노트북 내부로 불러들일.. 더보기 [python 20] 알고리즘 연습 - 2 [알고리즘 - 1]에 이어서, 몇 가지 문제에 대한 알고리즘에 대해 살펴보기로 하자. 아주 크고 복잡한 문제들을 해결하는 방법인 "알고리즘"도 따지고 보면, 아래에서 소개하는 간단한 알고리즘(들)을 조합하는 것에 지나지 않는다. 작은 문제들을 풀어 보는 것에 절대 소홀하지 않기를 바란다. 이번 글에서 살펴볼 알고리즘들은 다음과 같다. - 리스트에 저장되어 있는 데이터들의 합(sum) 구하기 - 멱승(power) 구하기 - 사용자로 부터 데이터를 입력받아 리스트에 저장하기 - 리스트에서 특정한 값의 개수 구하기 이 글에 이어질 [알고리즘 - 3] 에서는 소팅(sorting, 정렬) 알고리즘에 대해 살펴 볼 계획이다. ○ 리스트 데이터의 합(sum) 구하기 최대값을 구하는 것 만큼 중요한 알고리즘 중의 하나.. 더보기 [python 19] 알고리즘 연습 - 1 이번 글에서는 실제 주어진 문제를 해결할 수 있는 과정(procedure) 인 알고리즘(algorithm)을 만들어 보는 연습을 통해 파이썬에 대한 이해도를 높여 보고자 한다. ○ 알고리즘 algorithm 이란 ? 알고리즘은 "어떤 주어진 문제를 해결 할 수 있는 절차"라는 뜻이다. 거꾸로 읽는다면, 알고리즘에서 제시된 절차를 따라가다 보면 문제에 대한 답을 구할 수 있다는 뜻이다. 마치 현재 위치에서 어떤 목적지(destination)에 이르는 경로를 찾는 문제와 동일하다. 보통의 문제에서 현재 위치로 부터 목적지에 이르는 경로는 여러가지로 존재한다. 어떤 경로는 (좋은 답이긴 한데) 비용이 많이 들어서, 또는 (좋은 답이긴 한데) 기술적으로 어려워서 실행이 어려운 경로도 존재한다. 이런 경로 (답).. 더보기 [python 18] 매직 명령어와 파일관리 ○ 매직 명령어 (magic commands) ipython과 주피터에는 % 로 시작하는 명령어들이 있다. 이런 명령어들을 매직(magic) 명령어라고 부른다. 파이썬의 정식(?) 명령어 라기 보다는 cmd에서 (운영체제에서) 사용할 만한 명령어들을 사용자들의 편의를 위해 파이썬 안으로 들여왔다고 보면 좋겠다. 실제 폴더나 파일을 관리할 수 있는 다수의 명령어들이 포함되어 있다. 파이썬과 대화형으로 (interactive 하게) 문제를 풀어갈 때 사용할 수 있는 명령어들로서, 실제 파이썬 코딩 내에서는 사용할 수 없다. 매직 명령어의 전체 리스트는 %lsmagic (ls는 list라는 뜻) 으로 확인할 수 있다 (%lsmagic은 %없이 그냥 lsmagic으로도 실행됩니다). 참고로, % 하나로 시작하는.. 더보기 [python 17] 함수 - Part 3 : return 함수가 호출되면, 함수 실행이 완료된 후에 호출의 반대방향으로 반환(return)이 이루어진다. 이번 글에서는 이 return 에 대해 자세히 알아보도록 하자. ○ 함수는 control flow 이다 보통 절차 또는 과정으로 정의되는 프로세스(process) 라는 것을 "무엇인가의 흐름 (flow of something)" 으로 설명한다. 즉, 과정을 통해서 무엇인가가 흘러간다. 결국 흘러가는 무엇인가를 캐치하게 되면 그 과정을 파악할 수 있다. 여기에서 "무엇인가"에 해당하는 것으로 control, data, message, material 등이 사용되고 있고, 이를 각각 control flow, data flow, message flow, material flow 라고 부른다. 최근에 기계학습 분야에.. 더보기 [python 16] 함수 - Part 2 : 인자 ○ 함수에 데이터를 전달한다 아래 그림은 지난번 글인 [함수에 대한 이해 - Part 1]에서 같이 봤던 그림이다. 빨간색 글자로 추가한 부분에 주목해 주시기 바란다. 함수의 전부이기도 한 arguments와 return values 이다. 이번 글에서는 arguments(인자)에 대해서 살펴보고 다음 글에서 return values(반환값)에 대해 살펴보도록 한다. 파이썬에서는 함수에 인자를 전달하는 방법으로 2가지 방식을 제공한다. 위치인자(positional argument)와 키워드 인자( keyword argument) 방식이 그것이고, 이들과 함께 default argument (디폴트 인자) 가 함께 사용된다. ○ 위치 인자(positional arguments) 함수에 데이터를 전달하는 가.. 더보기 [python 15] 함수 - Part 1 : 개요 ○ 함수는 과정을 가리키는 이름이다 이 블로그에서는 "프로그램 = 변수 + 함수"라는 등식을 계속 강조하고자 한다. 프로그램은 변수와 함수로 구성된다. 요즘의 정보기술이 기반하고 있는 객체(Object) 기술이라는 것도 결국은 변수와 함수를 하나로 묶는 것에 지나지 않는다. 아, 물론 그 단순한 "묶음"을 통해 어마어마한 장점을 얻기는 하지만 말이다. 함수는 영어로 function 또는 method 라고 부른다. 변수가 어떤 데이터의 이름이었다면, 함수는 어떤 연산(또는 연산의 과정)의 이름이다. 참고로, 컴퓨터에서 변수나 함수를 가리키는데 사용되는 이름을 identifier(식별자)라고 부른다. 사용자가 정의하는 모든 식별자는 변수에 대한 이름이거나 함수에 대한 이름이 된다. 이 2개 간에 형태상의 차.. 더보기 [python 14] 파이썬 문자열 String ○ 문자열은 홑따옴표, 겹따옴표, 3개의 홑따옴표를 사용해서 표현한다. 문자열(보통 string이라고 부른다)은 문자(character 라고 부른다)들의 리스트이다. 키보드에서 1개 단추를 누를 때 발생하는 정보가 1개의 문자 데이터라고 보면 되고, 이러한 문자 여러개가 따옴표(' ')로 묶여서 표현된다. 홑따옴표를 기본으로 겹따옴표, 홑따옴표 3개를 사용해도 된다. 일단 이 3가지 방식이 동작하는것을 먼저 확인해 보자. 따옴표 3가지 방식 중에 가장 기본적인 방식은 홑따옴표를 사용하는 것이다. 홑따옴표를 사용하기 어려운 곳에 겹따옴표 또는 3개의 홑따옴표를 사용한다고 생각하면 좋겠다. 우선 겹따옴표는 표현하려고 하는 문자열 내에 아포스트로피( ' )가 사용되는 경우이다. 문장에서 인용문을 표현하거나 영.. 더보기 이전 1 2 3 4 5 다음 목록 더보기