본문 바로가기

List of Articles

[PYTHON 3] Tutorials 34. Make words counters - 3 ( words frequency counter 만들기) 이번 시간에는 이전 시간에서 만든 Word Counter를 활용해서 Frequency Counter(빈도수 카운터) 만들어 보도록 하겠습니다. 어떤 문서를 작성할시에 특정 단어가 얼마나 자주 사용되었는지 확인하거나, 어떤 사이트에서 가장 빈도수가 높게 올라오는 어휘가 어떤 것인지 한눈에 확인할 수도 있으며, 혹은 특정(장소, 시간, 위치, 카테고리 등등)한 매개체에서 동일 단어의 사용 빈도를 추적할 때도 활용할 수 있는 Frequency Counter 코딩을 시작해 보겠습니다. 이전 시간까지 작성한 코드입니다.▼ 확인을 위해 삽입한 print(word)를 comment 처리 하였습니다. 이전 시간에 완성한 특수문자가 제거된 온전한 단어들을 전달받는 딕셔너리 제작 함수를 호출하게 하였습니다.▼ 상기 그림에.. 더보기
[PYTHON 3] Tutorials 33. Make words counters - 2 ( words counter 만들기) 이전까지는 웹페이지에서 특정 부분을 크롤링하여 단어들을 추출하였습니다. 그러나 여기에는 특수문자 등 원하지 않는 부분도 포함되어 있었습니다. 이번 시간에는 앞에서 얻은 자료에서 원치않는 부분을 제거하는 코딩을 하도록 하겠습니다. 앞 장에서 다룬 코드는 아래와 같습니다.▼ 상기 코드에서 우선 확인을 위해 삽입한 print(each_word)를 삭제하도록 하겠습니다.▼ 또 다른 함수를 정의할 건데 start(url) 함수 내에서 호출 하도록 할 예정입니다. 그래서 아래 코드에서 처럼 clean_up_list(word_list) 문구를 삽입하였습니다.▼ clean_up_list(word_list) 함수를 정의하겠습니다.▼ start(url) 함수와 마찬가지로 원하지 않는 데이터를 뺸 자료를 담을 그릇(리스트).. 더보기
[PYTHON 3] Tutorials 32. Make words counters - 1 ( words counter 만들기) 이번 시간에는 'words counter'를 만들어 보겠습니다. 말 그대로 얼마나 많은 단어들이 있는지 카운팅 하는 프로그램입니다. 일반적으로 'words counter'는 문서 작업을 할 때에 얼마나 많은 글자가 사용되어는지 확인하는 용도로 많이 활용되곤 합니다. 대신 이번에는 특정 웹 페이지에서 어떤 단어가 얼마나 많이(빈도수) 사용되어졌는지를 알아보는 프로그램을 만들어보겠습니다. 이는 빅데이터, search engine(검색엔진) 분야 등 다양한 분야에 광범위하게 사용이 되는 개념이기도 합니다. 시작을 하겠습니다. 우선 코딩에 필요한 모듈들을 import 하겠습니다. 이번에는 웹페이지 관련 모듈인 requests, HTML 코드를 예쁘게(?), 단정하게 보여주는 BeautifulSoup, 카운팅 관.. 더보기
[Swift] 005_The power of declaration (변수 선언) for beginners The Power of Declaration 학교 다닐 때 숫자나 문자를 대신하는 플레이스 홀더가 변수라는 것을 배웠을 겁니다. "x = 12" 혹은 "y=55"라고 말하는 것은 실질적으로 선언하는 것입니다. 다시 말하면 변수를 숫자와 같다고 선언을 해주는 행위인 것입니다. Swift도 변수를 선언하는 것이니 크게 다르지 않습니다. 우선 터미널에서 Swift를 실행하겠습니다.▼ Swift의 var(variation: 변수) 키워드를 사용해 변수를 선언해 주었습니다. 첫 번째 행은 Swift로 하여금 변수 x는 12와 같다고 선언한 것이며 Swift는 x = 12라고 선언해 명령을 충실히 따른 것입니다. 그 뿐만 아니라 Swift는 "x는 Int(Integer: 정수형)이며 값은 12와 같다."라고 선언합.. 더보기
IBM, Swift sandbox website 공개. Swift 코드를 웹 브라우저에서 작성하다. https://developer.ibm.com/swift/2015/12/03/introducing-the-ibm-swift-sandbox/ 3일 전 애플에서 iOS, Mac OS X 애플리케이션을 제작할 수 있는 프로그래밍 언어인 Swift 를 오픈소스로 전세계에 공개하였습니다. 이를 통해 개인은 물론 기업들도 자유롭게 standard library functions and objects 에 접근할 수 있게 되었고, 서버에도 Swift 를 설치하여 보다 다양한 저작활동을 하는 것이 가능해졌습니다. 이런 애플의 오픈소스 전환 소식이 전해진 이후, 금일 IBM에서 이에 화답하듯이 Swift 코드를 웹 브라우저 상에서 작성하고 컴파일 할 수 있는 IBM Swift .. 더보기
[Swift] 004_Diving into Swift (Swift 실행하기) for beginners 이제 Swift REPL을 실행하면 명령어 입력을 기다리는 Terminal에 REPL 화면이 보일것입니다.▼ REPL을 실핼할 때마다 프롬프트는 숫자 1과 부등호 > 를 표시합니다.▼ Return을 눌러 제대로 작동하는지 확인해 보겠습니다. 한 행을 입력하면 프롬프트는 다음 행으로 넘어갑니다. ▼ Help and QuitSwift는 REPL 명령어 관련 도움말이 내장되어 있습니다. 프롬프트에 :help 명령어를 입력하면 관련 명령어 리스트를 보여줍니다. 그리고 이 명령어들은 콜론이 항상 붙어 있습니다. 콜론을 사용함으로써 Swift문과 REPL 명령어를 구분합니다. :help 명령어를 입력해 명령어 리스트를 확인하겠습니다. ▼ 이 리스트의 명령어 중 상당수가 디버깅과 관련된 것을 알 수 있습니다. Swi.. 더보기
[MAC TIP] 오토메이터를 이용한 파일, 폴더 이름 일시에 변경하기 - Rename files, folders using automator on OS X at once. 맥에서 한번에 많은 파일 혹은 폴더의 이름을 변경해야 하는 경우가 있을 때 어떻게 하시나요? 그냥 하나씩 변경? 지루하고, 번거롭고, 시간도 많이 소요가 될 수 있습니다. 물론 파일의 개수가 한 두개 정도일 경우에는 그냥 마우스 클릭을 한번하거나 키보드로 엔터키를 쳐서 이름을 변경할 수 있습니다. 그러나 오늘 하루에 찍은 사진이 100장 혹은 1000장이라고 한다면 사정이 달라집니다. 이럴 때 유용하게 쓸수 있는 방법이 있습니다. 바로 맥에 내장되어 있는 오토메이터(automator)를 활용하면 한번에 해결 가능합니다. 게다가 서비스(Service)로 저장을 해두면 언제든지 사용가능하기에 생산성 향상에 큰 도움이 됩니다. 1. automator 실행하기spotlight를 이용하여 'automator'를 .. 더보기
[PYTHON 3] Tutorials 31. Threading - 파이썬의 쓰레딩 이번 시간에는 파이썬에서 사용하는 Threading(쓰레딩)에 대해 알아보겠습니다. 프로그램을 코딩을 하고 컴파일을 할 때에는 Top to Bottom, Left to Right. 즉, 위에서 왼쪽에서 순서대로 컴파일을 하게 되어 있다. 한번에 하나씩 컴파일을 한다는 말이된다. 그런데 어떤 프로그램들은 굳이 이렇게 하나씩 컴파일을 할 필요가 없는 프로그램도 있다. 하나의 프로그램이 컴파일링이 끝날때 까지 기다리지 않고 다른 코드의 컴파일에 들어가도 전혀 문제가 되지 않을 경우에 Thread를 사용하여 마치 처음부터 다른 프로그램을 동시에 구동하는 것 마냥 컴파일을 할 수 있다. 말보다는 예제가 정답이다. 우선 thread를 사용하기 위해 python 에서 threading 모듈을 불러옵니다. ▼ 메신저를.. 더보기
[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.. 더보기
10 Cars Men Lust After 10 Cars Men Lust After Maserati Granturismo SThe beautiful Maserati GranTurismo coupe was launched in 2007, and in 2010 they made an even more attractive (and more expensive) version – a cabriolet. They announced they would stop making it in 2014. Maserati GranTurismo S was introduced in 2008. This beast has a 4.7-liter V8 and 434 horsepower, reaches 62 mph in 4.9 seconds. Its top speed is 183 m.. 더보기
[PYTHON 3] Tutorials 25. 웹 크롤러(like Google) 만들기 2 - How to build a web crawler 안녕하세요. 지난 시간에 이어 웹 크롤러 만들기 2번째 시간입니다. 지난 시간에는 BeautifulSoup 를 이용해서 특정 사이트의 글 목록 리스트에서 URL, 제목을 파이썬으로 가지고 오는 방법에 대해 알아 보았습니다. 이번에는 그 연장선상으로 URL, 제목에 해당하는 글의 본문 내용을 가지고 오게 만들어 보겠습니다. 시작하겠습니다. 앞 시간의 코드에서 각 글의 본문 내용을 확인할 수 있도록 하는 함수 get_single_article(item_url) 을 만들어 주었습니다. 물론, 함수명은 원하는 이름으로 정하여도 무방합니다.▼ 앞서 만든 코드에서 지금부터 만들어 줄 함수가 들어가는 위치에서 호출할 수 있도록 함수 호출 부분을 삽입합니다. page += 1 위에 함수 호출 코드를 넣어 주었습니다. .. 더보기
USB-C/Thunderbolt3 를 탑재한 랩탑출시. 이젠 USB-C로 가자! "One for All" Revamped Dell XPS 시리즈에 USB-C가 USB-C/Thunderbolt3를 탑재하고 출시되었다. 점차 더 많은 컴퓨터 기종이 이 새로운 포트 규격을 채택할 것으로 보인다. 애플은 12인치 맥북부터 USB-C 포트를 채택하였다. 이는 출시 당시에 논란이 많이 되었는데, 그 동안 애플은 인텔이 선도하는 썬더볼트를 채택하였고 그 후속인 썬더볼트2도 지지하고 있었기 때문이다. 그런데 갑작스럽게 썬더볼트 1,2 와 다른 형태의 포트 규격인 USB-C 를 들고 나왔으니 시장의 반응은 적잖이 충격이었다. 그러나 애플이 채택한 이 USB-C는 향후 더욱 강력해질 것으로 전망된다. 하나의 포트를 통해 Superspeed USB, Thunderbolt, DisplayPort, PCI.. 더보기
[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'으로 접속.. 더보기
[MAC TIP] 앱 다중(여러개 띄워 사용) 실행하기 Mac OS X 에서 사파리나 크롬 및 대부분의 문서 편집 프로그램들은 사용자가 원하는 수 만큼의 작업 창을 띄워놓고 사용할 수 있다. 그러나 '단일 창'으로 작동하는 것을 염두해 두지 않은 프로그램들은 별도로 다중 프로그램 실행을 지원하지 않는 경우가 종종 있지만, 불가능한 것은 아니다. 물론, 태생적으로 지원이 안되는 프로그램들은 어쩔 수 없지만, 의외로 많은 OS X 프로그램들이 다중 실행이 가능하다. 터미널 명령어를 이용해서 프로그램 제작자들이 걸어둔 제한을 우회 혹은 회피할 수 있다. Applications(응용 프로그램) > Utilities(유틸리티) 폴더에서 너미널을 실행한 후 아래와 같은 명령어를 입력해 주면 된다. open -n 'Application Path/Application Na.. 더보기
[MAC TIP] Homebrew를 이용해 어플리케이션, 유틸 설치하기 - Homebrew for OS X easily installs Desktop Apps and Terminal Utilities Homebrew를 이용해 어플리케이션, 유틸 설치하기 - Homebrew for OS X easily installs Desktop Apps and Terminal Utilities Homebrew는 Mac OS X 에서 가장 인기 있는 패키지 매니저입니다. 그 중 Homebrew Cask 는 Homebrew 가 구글 크롬(Google Chrome), VLC 등등. 수 많은 맥용 어플리케이션을 빠르게 설치하는데 도움을 줍니다. 끌어다놓거나(Dragging) 하거나 앱떨구기(Dropping)등을 할 필요가 없습니다. 이 방법은 맥 터미널 유틸리티나 GUI 기반의 앱을 설치하는 가장 쉬운 방법입니다. 이것은 윈도우즈 상에서 동작하는 Chocolatey 나 OneGet 과 유사하며, 리눅스에서 구동되는 패키지.. 더보기
HTTP:80, HTTPS:443. 왜 80, 443번일까? 이유는? 많은 사람들이 특별한 목적이나, 쓰임을 위해 할당된 인터넷 포트(port)에 익숙한데 반해 왜 포트 번호들이 그렇게 결정되어 있는지는 잘 모른다. 이번 글은 포트 번호가 어떻게 배정되어 사용되고 있는지를 알아보고자 한다. 1. The Question왜 80번은 HTTP port로, 443번은 HTTPS port로 지정되었을까? 다른 특별한 이유가 있는걸까? 아니면 그냥(?) 정해져 버린 걸까? 왜 HTTP의 default로 80번, HTTPS의 default로 443번인가?2. The Answer- IANA(The Internet Assigned Numbers Authority): 우리말로 하자면 인터넷 번호 할당 위원회 쯤 되지 않을까한다. - ICANN(The Internet Corporation f.. 더보기
[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'이라고 하.. 더보기