본문 바로가기

Programming

[Swift] 003_Interacting with Swift (Swift와 소통하기) for beginners 우선 양방향 인터프리터인 REPL을 통해 Swift 를 시작해 보려고 한다. REPL은 Read-Eval-Print-Loop의 Acronym(앞글자만 딴것)이며 이름 자체가 REPL이 무슨 일을 하는지 알려주고 있다. REPL은 명령을 읽고, 평가하고, 결과를 출력하고 또한 처음으로 돌아가 같은 작업을 반복한다. 실제로 이런 양방향성이 Swift가 가진 훌륭한 기능 중 하나이며 C 언어나 Objective-C와 같은 컴파일러형 언어가 가지고 있지 않은 기능이다. 이미 REPL을 제공하는 루비(Ruby)나 파이썬(Python)과 같은 스크립트 언어를 사용해본 유저라면 새로운 것이 없을테지만 컴파일러형 언어 쪽에서는 새로운 기능이다. REPL의 가장 큰 장점은 C, C++, Objective-C 언어에서 해.. 더보기
[Swift] 002_Get ready to start(준비하기) for beginners Swift를 공부하기 위해서는 필요한 "도구"를 준비해야 한다. 당연히 코딩을 해보고 실행하고 결과를 확인하려면 OS X이 설치된 Mac 컴퓨터가 필요하다. 그리고 Swift 컴파일러와 그에 필요한 환경을 가지고 있는 Xcode도 필요하다. 예전에는 iOS나 Mac OS X 앱을 만드는 것 뿐만 아니라 테스트 해보기 위해서도 애플 개발자 프로그램에 멤버쉽으로 등록을 하고 연간 일정액을 지불해야만 Xcode를 내려받고 코딩을 해 볼 수 있는 시절도 있었다. 그러나 이제는 그럴 필요가 없다. 그냥 애플 개발자 프로그램(Apple Developer Program) 사이트(https://developer.apple.com)에 접속해서 프로그램을 내려 받던지, 이것도 귀찮다면 Mac OS X 이 설치된 컴퓨터에 .. 더보기
[Swift] 001_Introduction(간략한 swift 소개) for beginners Swift는 애플이 출시한 새로운 프로그래밍 언어로 iOS와 Mac OS용 앱을 개발하기 위한 언어이며 모바일뿐만 아니라 데스크탑 컴퓨터를 통틀어 최고의 컴퓨터 언어가 될 것으로 생각한다. Swift 는 배우기 어려운 프로그래밍 언어인 Objective-C와 비교하면 배우기 쉽고 사용하기 편한 언어라는 장점이 있다. 애플은 오랫동안 자사 플랫폼의 프로그래밍 언어로 Objective-C를 주로 사용해 왔지만 Swift를 선보이고 나서 Swift가 주력 프로그래밍 언어가 되어 가고 있는 중이다. 이처럼 배우기 쉬울 뿐만 아니라 매우 강력한 도구인 Swift를 조금씩 올려보려고 한다. 여느 프로그래밍 언어와 마찬가지로 Swift도 샘플로 소개되는 예제를 직접 작성해 보는것이 무엇보다 실력향상에 있어서 중요하다.. 더보기
[PYTHON 3] Tutorials 30. Multiple Inheritance - 파이썬의 클래스 다중 상속 이번 시간에는 앞 시간에서 다룬 클래스의 상속을 확장한 다중 상속에 대해 알아보려고 합니다. 하나의 클래스가 2개 이상의 서로다른 역할을 하는 클래스를 상속받아 그 기능을 온전히 수행하게끔 하는데 그 목적이 있고, 그러면 그 활용성 또한 증대될 것이기 때문입니다. 롤플레잉 게임을 한다고 가정하고, 그 중 한 캐릭터를 Archer(궁수)라고 할 때, 이 캐릭에 해당하는 클래스를 정의하였습니다. 그 중 움직임을 담당하는 함수를 move 라고 하고 정의하였습니다.▼ 게임내 아이템들이 많을텐데, 어떤 아이템을 획득 했을시에 레벨업을 가정하고 Item 이라는 클래스를 정의하였습니다. 그 중 아이템 획득에 관한 함수 eat_item 을 정의하였습니다.▼ 위의 두 개의 서로 다른 클래스를 상속 받게 할 경우에는 아래.. 더보기
[PYTHON 3] Tutorials 29. Inheritance - 파이썬의 클래스 상속 안녕하세요. 이번 시간에는 파이썬에서 가장 중요한 것 중 하나인 클래스의 상속에 대해서 알아보고자 합니다. 지난 시간까지 클래스가 어떤 것이며, 어떻게 사용하는지, 왜 사용하는지 등등에 대해서 간략히 소개하였습니다. 이번에는 이 클래스를 보다 실용적으로 사용하기 위해 기존의 만들어진 클래스를 확장하는 개념이라고 이해하시면 좋을것 같습니다.상속, 말 그대로 부모로 부터 물려받는것을 의미합니다. 다수의 기능을 하는 함수를 한데 묶어 하나의 클래스를 만들어 두었는데, 이 클래스가 가지고 있는 모든 기능을 그대로 가져오고, 거기에 더해 기능을 더 첨가하여 더 나은 클래스를 만들어 사용할 때 상속이라는 개념이 유용할 것입니다. 말 보다는 예제를 통해 알아 보도록 하겠습니다.클래스 이름을 'Parent'로 하는 클.. 더보기
[PYTHON 3] Tutorials 28. Init - 초기화 이번 시간에는 지난 시간에 다룬 클래스에서 초기화(initialization)에 대해 알아보고자 합니다. 파이썬에서 초기화란 클래스를 만들고, 객체가 클래스의 함수(메소드)에 접근을 할 때 아무런 함수(메소드)를 실행하지 않아도 처음부터 객체 생성과 동시에 실행되는 값들을 의미 합니다. 가령, 사람으로 치자면 처음부터 타고 나는것들이 해당이 되겠는데, 머리, 몸, 다리, 팔 등등... 이는 누구나 가지고 태어나듯이 객체가 생성됨과 동시에 가지고 있게 되는 것들을 일컬어 초기화 혹은 __init__ 으로 명명합니다. 역시 말보다는 예제를 통해서 보는게 훨씬 이해가 잘 되겠죠.. 시작해 보겠습니다. 사람(Person)이라는 클래스를 정의해 보겠습니다.▼ 사람의 초기값을 설정해주기 위해 아래와 같이 __ini.. 더보기
[PYTHON 3] Tutorials 27. Classes and Objects - 클래스, 객체 이번 시간에는 요즘 사용하는 프로그래밍 언어의 중심인 클래스와 객체에 대해 알아보고자 합니다. 현재 시장에서 사용하는 대부분의 언어가 객체 지향 프로그램(OOP: Objects Oriented program)이라고 해도 과언이 아닙니다. 물론 전부라고는 할 수 없으나 많은 언어에서 객체화를 지향하는 이유는 그만한 장점을 지니고 있기 떄문입니다. 앞서 다룬 함수 파트에서, 함수를 사용하는 이유 중 하나가 재사용성을 높이기 위해서라고 했습니다. 객체도 마찬가지입니다. 함수 + 함수 + 함수 를 하나의 클래스로 묶어놓고 이를 별개의 객체로 불러와 사용하면 코드를 수십, 수백, 수천 번 재사용할 수 있기 때문입니다. 잘 이해가 잘 안되신다면 아래의 코드를 예로 설명을 드리면 조금이나마 이해하는데 도움이 되리라 .. 더보기
[PYTHON 3] Tutorials 26. Exceptions - 예외처리 안녕하세요. 이번 시간에는 파이썬에서 발생할 수 있는 오류를 어떻게 처리하는지에 대한 것을 알아보려고 합니다. 프로그램을 만들다보면 이런 저런 오류로 골머리를 앓는 경우가 빈번한데, 이러한 오류, 에러를 어떻게 잘 핸들링 하느냐도 코딩 실력 향상에 크게 도움이 됩니다. 다행히 파이썬에서는 어떤 오류가 발생하면 여타 언어에 비해 왜, 어디서 오류가 발생하는지가 비교적 상세히 기술이 됩니다. 이렇게 친절히(!) 알려주는 문구들이 무슨 의미인지 알아야 할 것이며, 이를 어떻게 해결하는지 혹은 우회하는지를 살~짝 맛보기 해 보겠습니다. 그럼 시작하겠습니다. 아래와 같이 어떤 숫자를 받아들여서 단순 출력하는 프로그램을 만들어 봤습니다. 그런데 에러가 발생을 했네요. 어떤 오류인지 확인을 해보니 'ValueErro.. 더보기
[PYTHON 3] Tutorials 25. 웹 크롤러(like Google) 만들기 2 - How to build a web crawler 안녕하세요. 지난 시간에 이어 웹 크롤러 만들기 2번째 시간입니다. 지난 시간에는 BeautifulSoup 를 이용해서 특정 사이트의 글 목록 리스트에서 URL, 제목을 파이썬으로 가지고 오는 방법에 대해 알아 보았습니다. 이번에는 그 연장선상으로 URL, 제목에 해당하는 글의 본문 내용을 가지고 오게 만들어 보겠습니다. 시작하겠습니다. 앞 시간의 코드에서 각 글의 본문 내용을 확인할 수 있도록 하는 함수 get_single_article(item_url) 을 만들어 주었습니다. 물론, 함수명은 원하는 이름으로 정하여도 무방합니다.▼ 앞서 만든 코드에서 지금부터 만들어 줄 함수가 들어가는 위치에서 호출할 수 있도록 함수 호출 부분을 삽입합니다. page += 1 위에 함수 호출 코드를 넣어 주었습니다. .. 더보기
[PYTHON 3] Tutorials 24. 웹 크롤러(like Google) 만들기 1 - How to build a web crawler 안녕하세요. 몇일동안 본업(?)에 매진하느라 소홀했던 튜토리얼을 다시 작성하려 합니다. 간혹 메일로 문의를 주시는 분이 계신데, (메일은 어떻게 아셨지 -_-a) 그냥 여기에 댓글을 다셔도 가능하면 답을 달아 드립니다. 긴급한(!) 일이 아니라면 메일은 삼가해 주셨으면 합니다^^;. 서두가 길었네요. 시작해 보겠습니다. 이번 시간에는 인터넷 상에 있는 자료(데이터: 글 + 이미지 + 파일 등등) 들을 파이썬을 이용해서 긁어오는 것을 하겠습니다. 우리가 잘 알고 있는 구글의 검색 시스템도 시시각각 인터넷상에 올라오는 글들을 크롤러(로봇)가 링크를 타고 타고해서 DB(데이터 베이스)에 잘 저장을 해 둔것을 사용자들이 찾는 시스템입니다. 여타 검색엔진과 다르게 구글이 크게 성장할 수 있었던 요인 중 하나는 사.. 더보기
[PYTHON 3] Tutorials 23. Downloading Files from the web - 파일 다운로드 하기 using 파이썬 안녕하세요. 이번 시간에는 지난 시간의 이미지(사진) 다운받기에 이어 파일을 다운받아 보도록 하겠습니다. 이미지 다운과는 약간 다르지만, 크게 어렵지는 않으니 느긋하게 읽어보시면 쉽게 이해할 수 있을 겁니다. 그럼 시작하겠습니다. 주식 분석을 위한 시세 자료를 다운 받기 할 예정입니다. 이제까지는 import 뒤에 불러올 모듈명을 바로 적어 주었습니다. 그런데 아래 그림은 앞에 from 을 적어주고 import 뒤 모듈명을 적어 주었네요. 이는 추후에 클래스를 다룰때 보다 자세히 설명드려야 할 사항이므로 지금은 그냥 넘어가셔도 무방합니다. ▼ 주식 관련 CSV(Comma Separated Value)파일을 찾아보았는데, 야후 파이낸스에 올라와 있더군요. 그래서 'finance.yahoo.com'으로 접속.. 더보기
[PYTHON 3] Tutorials 22. How to read and write Files - 파이썬에서 파일 읽고 쓰기 이번 시간에는 프로그래밍을 할 때 가장 중요한 요소 중 한가지인 파일 읽고 쓰기에 대해 알아보려고 합니다. 어떤 프로그램을 잘 만들었다고 하더라도 1회성으로 그 자료가 없어진다면 별 의미없는 작업이 될 것입니다. 데이터로 저장을 하고 이렇게 저장되거나 DB로 만들어 둔 자료들을 가지고 제2, 제3의 유용한 자료로 활욜할 수 있게 된다면 그제서야 자료로서 유용해질 것이기 때문입니다. 보통 이렇게 제2, 제3의 데이터로 활욜할 수 있는 분야들을 요즘에는 메타 데이터, 또는 빅데이터라고 하는 분야에 활용이 됩니다. 이 모든 사항들이 데이터가 기록이 이루어질 때 비로소 가능합니다. 그러려면 저장을 해야하는데 그러기 위한 단계가 파일의 형태로 남기는 것이겠죠. 자 그럼 시작을 해 볼까요? fw = open('te.. 더보기
[PYTHON 3] Tutorials 21. Download images from the web - 이미지(사진) 다운로드 하기 with 파이썬 안녕하세요. 이번 시간에는 앞시간에서 다룬 모듈을 사용해서 인터넷(웹) 상에서 이미지(사진)을 다운로드 해 보겠습니다. 그 까지것 직접 다운하면 되지 않냐? 할 수도 있겠으나, 우리는 호모 사피엔스( 생각하는 인간 ) 이지 않습니까! 번거로운 일은 컴퓨터가 알아서 하게 시키자는 취지입니다. 당연히 다운로드 해야할 양이 많아지면 귀차니즘이 발동 되니, 그 일을 컴퓨터에게 양보(?) 하는게 현명할 것입니다. 각설하고 시작하겠습니다. 앞에서 다룬 random 모듈을 불러들입니다. 파이썬 내장 모듈(함수)인 urllib를 불러들이는데, 그 중 request를 호출하였습니다. 우리가 웹브라우저(chrome, firefox, safari, internet explore, opera etc.)를 이용하여 인터넷을 서.. 더보기
[PYTHON 3] Tutorials 20. Modules(모듈화) 안녕하세요. 이번 시간에는 모듈(Modules)에 대해 알아보고자 합니다. 프로그래밍을 하다 보면 함수(Function)들을 사용하고 또 사용하는, 일명 재사용성이 증대되는데, 이럴때 자주 사용하는 함수들을 모아두고 불러와서 사용하면 훨씬 수월하게 프로그램을 작성할 수 있게 되겠죠? 시간도 절약하고 코드 재활용도 할 수 있게되는 것이죠. 이렇듯 자주 사용하는 함수들을 하나의 파일 형태로 모아 두는데 이를 모듈이라고 합니다. 모듈은 이미 누군가가 만들어 놓은 것도 있고 본인이 직접 만들어서 사용할 수도 있습니다. 이미 누군가 만들어 놓은것은 프로그램 상단에 'import'라는 단어를 넣고 불러오고자 하는 모듈명을 적어주면 됩니다. 만들어 놓은 모듈이 없다면 직접 만들어서 불러와서 사용할 수도 있습니다. 자.. 더보기
[PYTHON 3] Tutorials 19. Dictionary 안녕하세요. 이번 시간에는 파이썬에서 다루는 'Dictionary'에 대해 알아보고자 합니다. 딕션너리: 사전. 을 뜻하죠. 쉽게 이해하고 있듯이, 사전을 찾으면 단어:뜻 이렇게 이루어져 있습니다. 이 개념과 동일합니다. 어떤 단어를 찾았는데 그 안에 가지고 있는 의미, 뜻, 내용물이 뭔지 알려주게끔 이루어진 규칙을 말합니다. 이를 프로그래밍에서는 Key, Value 라고 각각 칭합니다. 단어: Key, 뜻: Value 라고 이해하시면 됩니다. 자 그럼 예제를 통해 자세히 알아보겠습니다. 친구라는 변수 안에 친구 이름과 특징을 딕셔너리({})로 넣어 두었습니다. 딕셔너리는 Curly Bracket {} 안에 세미콜론(:) 왼쪽에는 key 값을 오른쪽에는 value 값을 넣어주는게 원칙입니다. 위 코드에서.. 더보기
[PYTHON 3] Tutorials 18. Sets(중복제거) 안녕하세요. 이번 시간에는 Sets 에 대해서 알아보려고 합니다. Sets는 여러개의 리스트를 담는 일종의 그릇이라고 생각하면 되는데, 중복을 걸러내주는 역할을 합니다. 아래 예제로 다루겠지만, 마트에 가서 쇼핑을 해야 하는데 사야할 리스트가 있을겁니다. 그런데 품목이 여러개일 경우에 샀던 것을 또 살 경우가 있을 수 있습니다. 이럴 경우, 이미 리스트에 있는 것은 추가가 되지 않게 할 수 있는 프로그램을 만들 수 있어 편리하겠죠? 물론 다른 형태로 중복을 피할 수 있는 경우는 다반사일겁니다. 이럴경우에 사용하는 것이 파이썬에는 Sets 라고 합니다. 그럼 시작해 볼까요? 우선 사야할 쇼핑리스트 변수에 품목들을 쭈~욱 적습니다. 이 때, Curly Braket {} 으로 해야 합니다. 규칙이고 약속이니 .. 더보기
[PYTHON 3] Tutorials 17. Unpacking Arguments 이번 시간에는 Unpacking Arguments에 대해 알아보도록 하겠습니다. Unpacking 은 말 그대로 꾸러미 같은것을 푼다는 의미입니다. 즉, Arguments 꾸러미를 푸는 것이 어떤것인지 알아보려고 합니다. 자 그럼 시작해 보겠습니다. 간단히 임의로 몇살까지 살 수 있을지에 관한 계산을 할 수 있는 함수를 정의해 보았습니다. 물론, 허구성이며 단순 계산식이니 신빙성은 없는 산술식이라고 하겠습니다. 위의 그림처럼 3개의 parameters를 받는 health_calculator라는 함수를 정의 하였습니다. 나이, 하루에 먹는 사과 개수, 하루에 피는 담배는 얼마인지. 이런걸로만 만든 계산기입니다. 계산을 하고 결과를 answer에 저장하고 출력하게끔 하였습니다. 그리고 'brown'이라고 하.. 더보기
[PYTHON 3] Tutorials 16. a Flexible number of Arguments 안녕하세요. 이번 시간에는 Arguments 개수가 몇개인지 모를 때, 임의의 개수를 지정하게 하는 부분을 다루도록 하겠습니다. 자 그럼 시작하겠습니다. 지금까지 다룬 함수에서 arguments의 개수는 지정되어 있었습니다. 이는 호출할 때도 마찬가지였습니다. 여러개의 수를 더하는 함수를 만든다고 할 경우에 위의 그림처럼 2개의 숫자를 더하게 할 수 있습니다. 그러나 달랑 2개의 숫자를 더하기 위해 함수를 정의하고 사용하는게 너무 비효율적이라고 생각하지는 않나요? 그리고 우리가 몇개를 더할지 모를 경우도 많을테죠. 계산기를 예를 들어 보겠습니다. 이것 저것 더하다가 또 다른 수를 더해야 하는데, 더 이상 더하기를 할 수가 없다면 어떨까요? 그건 계산기 역할을 제대로 한다고 할 수가 없겠죠? 이점을 파이썬.. 더보기
[PYTHON 3] Tutorials 15. Keyword Arguments 안녕하세요. 이번 시간에는 'Keyword Arguments'에 대해서 알아보도록 하겠습니다. 일전의 튜토리얼에서 default arguments에 대해 알아보았는데, 그것의 연장선상에 있다고 생각하시면 되겠습니다. 자 그럼 시작하겠습니다. 우선 silly_sentence라고 하는 임의의 함수를 정의합니다. 여기의 arguments를 위와 같이 3개로 구성하겠습니다. name, action, item 으로 3개의 arguments를 지정해 줍니다. 일전의 튜토리얼에서 default arguments 에 얘기했었는데, 이 경우 argument를 전달해 주지 않았을 경우 함수에서 미리 지정한 default로 그 값을 대신한다는 내용이었습니다. keyword arguments 또한 비슷하다고 여기면 됩니다. .. 더보기
[PYTHON 3] Tutorials 14. Variable Scope 안녕하세요. 이번 시간에는 변수의 범위에 대해서 알아보고자 합니다. 변수의 범위에는 크게 지역변수(Local)와 전역변수(Global)가 있습니다. 지역변수는 특정지역(?)에서만 유효한 경우를 일컬으며, 전역변수는 말 그대로 어디서든 사용 가능한 변수를 말합니다. 말보다는 그림을 보면서 진행하는게 좋겠죠? 그럼 시작하겠습니다. 우선 임의의 숫자를 number 라고 하는 변수에 지정을 해 주었습니다. 역시 임의의 함수 abcd라고 하는 함수를 정의하고 단순히 number 를 프린트 하는 명령어만 가지고 있게 하였습니다. 이번에는 또 다른 함수 xyz 를 정의하고 역시 변수 number 를 출력하게 하였습니다. 두 함수를 정의하였으니 호출하여 사용을 해봐야겠죠? 위 그림과 같이 두 함수를 나란히 호출하였습니.. 더보기
[PYTHON 3] Tutorials 13. Default Values for Arguments 이번 시간에는 함수에 인자(Arguments)를 전달하지 않을 경우 에러가 발생할 수 있는데, 이를 어떻게 처리할지를 알아보도록 하겠습니다. 만약 이럴경우 함수에 인자가 없을 경우를 대비해 초기값(default)를 지정해 두면 에러가 발생하지 않습니다. 무슨말인지 감이 안오시면 아래 그림을 보면서 확인해 보시기 바랍니다. 그리고 모바일에서 볼 때 폰트가 너무 작아 가독성이 좋지 않다는 의견을 주신분들이 계셔서 Pycharm 의 코드, 콘솔 폰트의 크기를 키워보았습니다. 의견 주신분들께 감사드립니다. 그럼 시작해 보겠습니다. 우선 성별을 판단하는 함수를 정의하였습니다. 이전에 다룬 함수들과 다른점이 보이시나요? Arguments(인자)에 미리 값이 지정이 되어 있네요. 바로 sex='Unknown' 으로 .. 더보기
[PYTHON 3] Tutorials 12. Return Value 안녕하세요. 이번시간에는 이전 시간에서 다룬 함수에서 결과값을 어떻게 처리할지 얘기해 보도록 하겠습니다. 앞장에서는 함수를 정의하고 단순히 프린트를 사용하여 그 결과를 나타내도록 하였는데, 이번 시간에는 그 함수에서 다룬 값을 반환(Return)해서 다른 변수에 저장하게 하고 나중에 함수에서 반환받은 값을 담고 있는 변수를 활용할 수 있게 하는데 있습니다. 잘 이해가 안되시면 아래 그림으로 이야기를 이어 가도록 하겠습니다. 우선, 하나의 함수를 선언해 줍니다. 그냥 우스개소리로 데이트 할 수 있는 연령을 단순 계산할 수 있는 함수를 선언해 줍니다. 전달해 줄 인자로는 나이를 넣어주게 하였습니다. 그럼 이 전달받은 my_age로 계산을 하여 girls_age라는 변수에 넣어줍니다. 그리고 그 결과를 반환(.. 더보기
[PYTHON 3] Tutorials 11. Function 안녕하세요. 이번 시간에는 Function(함수)에 대해서 알아보도록 하겠습니다. 프로그램을 공부하시면 대부분의 프로그래밍 언어에서 함수를 얘기합니다. 그럼 함수를 왜 사용하고 어떤 것일까요? 단순하게 생각해보면 재사용성 이라고 말할 수 있을것 같습니다. 똑같은 역할을 하는 코드가 여러번 사용되면 이를 한번 만들어 두고 argument or parameter (함수를 만들때 전달해주는 값들) 값들만 바꾸어 주면 반복적으로 여러번 사용할 수 있을 것입니다. 이로 인해 가용 자원 절약, 코드 가독성 향상 등등 많은 이점을 꾀할 수 있게 됩니다. 각설하고 시작해 보겠습니다. 파이썬에서 함수를 정의할 때에는 앞에 def (definition: 정의) 함수명(전달할 인자): 이렇게 사용할 수 있습니다. def f.. 더보기
[PYTHON 3] Tutorials 10. Continue 안녕하세요. 이번 시간에는 지난시간에 다룬 break 에 이어 continue 를 얘기하고자 합니다. 기본적인 개념으로는 break는 진행중인 루프(Loop)를 중단하고 다음 단계를 진행하게하는 명령어이고, continue 는 진행중인 루프(Loop)에서 continue를 만나면 다음 단계의 루프를 진행하라는 명령어 입니다. 아직 감이 안 온다면 아래의 그림과 함께 보도록 하겠습니다. 먼저 일련의 숫자들을 numbersTaken 이라고 명명한 배열(lists)에 넣어줍니다. print() 를 사용해서 결과에 나타나는 숫자가 무엇을 의미하는지 알려줍니다. range()를 사용해서 1부터 19까지의 숫자를 n 이라는 임의의 변수에 하나씩 들어가게하여 반복하게 합니다. n 값이 numbersTaken 안에 존.. 더보기
[PYTHON 3] Tutorials 9. Comments and Break 안녕하세요. 이번시간에는 Comments and Break 에 대해 알아보고자 합니다. 우선 찾고자 하는 숫자(혹은 특정 값)을 프로그램에서 찾아야 할 필요가 있을 때 어떻게 해야 할까요? 기본적으로는 조건을 만족 시키는지 판단을 해야 할 것입니다. 일단, 찾고자 하는 수를 35라고 할 때, 이를 magicNumber에 할당을 하였습니다. 위의 그림은 파이썬에서 1줄 Comment 를 남길 때 사용하는 방법입니다. '#' 를 넣으면 그 뒤의 한줄은 컴파일을 하지 않겠다는 의미입니다. 만약 여러 문장을 Comments 처리해야 할 경우에는 Single Quote(') 을 세개를 사용합니다. ''' 주석처리 할 부분을 여기에 넣습니다. ''' 다시 본론으로 들어가면, 주석처리 한 내용처럼 이 프로그램은 매직.. 더보기
[PYTHON 3] Tutorials 8. Range and While 안녕하세요. 이번 시간에는 범위와 간격을 설정할 수 있는 range 와 반복문의 또 다른 형태인 while 에 대해서 간략히 알아 보도록 하겠습니다. 위의 그림은 앞에서 다룬 for 의 형태입니다. 여기에서 뒷 부분에 range() 라고 하는 부분이 보이는데요. 이 range() 는 괄호안의 범위까지를 의미합니다. 즉 range(10) 은 0,1,2,3,4,5,6,7,8,9 까지의 숫자를 의미합니다. 위의 for 문에서는 0,1,2,3,4,5,6,7,8,9 를 각각 한번씩 number 로 할당해서 아래의 명령을 수행하라는 의미가 됩니다. 결과값을 한번 예측 해보시고 아래로 내려가보세요. 네.. 위의 숫자들을 예측하셨다면, 제대로 이해하고 계신겁니다. 여기에서 왜 숫자들이 옆으로 나열이 안되고 아래로 나열.. 더보기
[PYTHON 3] Tutorials 7. for - 반복문 안녕하세요. 이번 시간에는 파이썬의 반복문을 알아보고자 합니다. 반복문 중에서도 'for' 반복문을 다룰까 합니다. 반복문(Loop)의 기본 개념은 동일한 일을 사람이 하면 쉽사리 지칠만한 일을 컴퓨터가 하면 수천, 수만, 많게는 무한대까지 같은일을 시킬 수 있게 해 주는 명령입니다. 각설하고 시작하겠습니다. 우선 foods 라고 하는 List(배열)을 만들고 거기에 속할만한 단어들을 넣어 주었습니다. 현재 foods 에는 총 5개의 음식이 들어 있군요. 파이썬에서 사용하는 반복문(loop) 중 for 의 기본 형태는 위와 같습니다. in foods: => foods 안에 있는 것들을 for f => 각각을 f 라고 임의로 지정하고 반복을 하라. 는 의미입니다. 즉, foods 안의 값들을 임의의 값 f.. 더보기
[PYTHON 3] Tutorials 6. if elif else - 조건문 안녕하세요. 이번 시간에는 파이썬의 조건문에 대해서 알아보겠습니다. 프로그래밍에서 가장 중요한 요소를 꼽자면 조건문과 반복문 이라고 말합니다. 그 중 하나인 조건문을 간략히 살펴보도록 하겠습니다. 우선, name 이라고 하는 변수에 "Scarlett Johansson" 이라는 문자열을 지정해 둡니다. 이는 조건문에서 조건의 True, False 결정에 사용될 예정입니다. 파이썬의 조건문은 다른 프로그래밍 언어와 약간 차이가 있는데, 조건문 마지막에 Colon(:) 을 넣어서 사용한다는 점입니다. 그리고 자연어 처럼 'is', 'or', 'not' 과 같은 것을 사용할 수 있습니다. 위의 조건문은 name == "Jason" 이거와 같은 의미가 됩니다. 즉 name 이 "Jason" 이라면(같다면) 혹은 .. 더보기
[PYTHON 3] Tutorials 5. Lists 안녕하세요. 이번 시간에는 파이썬에서 가장 중요하고, 사용 빈도수가 높은 Lists(배열)에 대해 알아볼까요? 직관적으로 생각하기에 리스트는 말 그대로 문자나, 숫자 등을 쭈욱~ 나열한 일련의 집합이라고 보시면 될것 같습니다. 문자, 숫자 어느 것을 집어 넣어도 상관 없겠으나 여기서는 간단히 숫자로만 설명을 하겠습니다. 1. players 라는 변수에 위와 같이 일련의 점수를 넣으려고 할 때, 파이썬에서는 리스트 형태로 'Square Bracket [ ] '을 사용합니다. players 에 29, 55, 52, 61, 78, 87 을 저장하였습니다. 2. 그럼 저장된 players 변수에 3번째 (컴퓨터는 0부터 카운트 한다고 지난 시간에 다루었습니다) 값을 확인해 볼까요? 52라는 숫자를 뱉어 내는군요.. 더보기
[PYTHON 3] Tutorials 4. Slicing up Strings 안녕하세요. 이번에는 문자열(strings)을 slicing up 하는 것을 다뤄보겠습니다. 우선 터미널을 열고 파이썬 인터프리터를 구동시킵니다. user 라는 변수에 문자열 "Barack Obama" 라고 하는 임의의 값을 할당해 주었습니다. 사람들은 숫자를 세어 보라고 하면 1부터 카운팅을 하지만, 컴퓨터는 0부터 카운팅을 합니다. 이는 비단 다른 컴퓨터 언어도 마찬가지이므로 기억해 두시면 좋겠습니다. 변수 user 의 첫번째 값이 뭔지 확인해 보려고 user[0] 을 입력하니 'B' 라고 알려주네요. 이번에는 user 안의 8번째(0부터 카운팅하니 8번째가 되겠죠?)값은 대문자 'O' 이네요. 물론 왼쪽부터 알아볼 수도 있지만, 오른쪽에서도 위의 그림처럼 slicing up 할 수 있습니다. 여기에.. 더보기