파이썬 초보가 따라하고 개념잡기 쉬운 ( A Byte of Python - Swaroop )

 

 

파이썬 초보가 파이썬에 대해 익숙해지기 쉽게 정리가 잘 되어 있습니다

한두번정도 정독하면 도움이 많이 될 것 같습니다

pdf 파일이니 파일 첨부하고 목차만 캡쳐하여 첨부하였습니다

 

필요하신분은 다운받으시고 댓글하나씩 남겨주세요ㅎ

 


byte_of_python.pdf










'언어' 카테고리의 다른 글

Python 설치하기  (0) 2016.08.31
Python 시작하기  (0) 2016.08.31
파이썬을 배우는 최고의 방법  (0) 2016.08.31
블로그 이미지

Diano.

http://www.diano.kr / 이사하는중 /

,

Python 설치하기

언어 2016. 8. 31. 22:01

집에서 튜토리얼을 보시는 분들에게

장고 걸스 이벤트가 아닌 집에서 튜토리얼을 자습하시는 분들은 이 장을 건너뛰고 인터넷은 어떻게 작동할까요? 부터 읽으세요.

이번 장에는 설치와 관련된 모든 내용을 모았습니다. 장고 걸스 이벤트에서는 워크샵 사전에 설치과정을 완벽하게 마치는 '설치의 밤'이 있습니다. 워크샵 중간 중간에 설치 문제로 진행에 어려움을 겪지 않게 하기 위해서지요.

이 방법이 괜찮다면, 컴퓨터에 먼저 모든 설치를 끝내고 내용을 따라가도 좋습니다. 혹은 먼저 학습을 시작하고 싶다면 이번 장을 넘기세요. 뒷 부분에서도 설치 방법에 대해 다룹니다.

모두 행운을 빌어요!

설치하기

우리는 워크샵에서 블로그를 완성할 거에요. 워크샵 사전에 몇 가지 설치를 끝낸다면, 하루 종일 코딩할 준비가 된 거랍니다.

Python 설치하기

위 내용은 Geek Girls Carrots (https://github.com/ggcarrots/django-carrots) 을 바탕으로 작성되었습니다.

장고는 파이썬으로 만들어졌습니다. 장고를 하기 위해서는 파이썬이 있어야 합니다. 우선 설치부터 해볼까요! 우리는 파이썬 3.4를 사용할 거예요. 그보다 낮은 버전이 설치되었다면, 업그레이드가 필요합니다.

윈도우

윈도우용 파이썬은 https://www.python.org/downloads/release/python-343/에서 다운 받을 수 있습니다. 사이트에서 *.msi 파일을 다운 받고, 실행(더블클릭으로)한 다음, 지시 사항을 따라가세요. 파이썬을 설치한 경로(디렉토리)를 기억해두어야 합니다. 나중에 필요하거든요!

한가지 주의할 것은 설치 마법사의 "Customize"라는 두 번째 화면입니다. 여기서 보이듯이 스크롤을 내려 아래쪽에 있는 "Add python.exe to the Path" 항목을 체크해주세요.

파이썬을 패쓰(path)에 추가하는 것을 잊지 마세요!

리눅스

아마 이미 파이썬이 설치되었을 거에요. 설치되어있는지 (그리고 어떤 버전인지) 확인하려면, 콘솔을 열어 다음 명령을 실행하세요.

$ python3 --version
Python 3.4.3

파이썬이 설치되어 있지 않거나 버전이 다르면 이렇게 해보세요. :

Debian 또는 Ubuntu

콘솔에서 다음 명령을 실행하세요.

$ sudo apt-get install python3.4

Fedora (21까지)

콘솔에서 다음 명령을 실행하세요.

$ sudo yum install python3.4

Fedora (22부터)

콘솔에서 다음 명령을 실행합니다.

$ sudo dnf install python3.4

OS X

https://www.python.org/downloads/release/python-343/ 에서 파이썬 설치프로그램을 다운 받아야 합니다.

  • Mac OS X 64-bit/32-bit installer 파일을 다운 받으세요.
  • python-3.4.3-macosx10.6.pkg 을 더블 클릭해 설치 프로그램을 시작하세요.

터미널을 열고 python3 명령을 실행해 잘 설치되었는지 확인하세요.

$ python3 --version
Python 3.4.3

더 알고 싶은 것이 있거나, 설치가 잘 되지 않고 어찌 해야할지 모르겠다면 코치를 불러주세요! 잘 설치 되지 않는 경우도 있을 수 있습니다. 그럴 때는 경험이 있는 분에게 도움을 구해보세요.

virtualenv 설정하고 Django 설치하기

이 장의 일부는 Geek Girls Carrots (https://github.com/ggcarrots/django-carrots)의 튜토리얼을 기반으로 작성되었습니다.

Creative Commons Attribution-ShareAlike 4.0 International License 에 따라 django-marcador 튜토리얼를 바탕으로 작성되었습니다. django-marcador 튜토리얼은 Markus Zapke-Gründemann et al에게 저작권이 있습니다.

가상 환경

장고를 설치하기 전에, 개발 환경을 깔끔하게 관리하는데 큰 도움이 되는 도구를 설치해보겠습니다. 이 단계를 건너뛸 수 있지만, 한번 직접 해보는 것을 추천합니다. 제대로 설치해야 나중에 문제가 발생하지 않거든요!

자, 이제부터 가상 환경(virtualenv라고 불러요)을 만들어보겠습니다. Virtualenv는 프로젝트 기초 전부를 Python/Django와 분리시켜줍니다. 다시 말해 웹사이트가 변경되어도 개발 중인 것에 영향을 미치지 않다는 것입니다. 어때요, 깔끔하죠?

virtualenv를 만드는 데 필요한 것은 생성할 곳을 정하는 것 뿐입니다. 예를 들면, home 디렉토리와 같은 곳이면 적당합니다. 윈도우 환경에서는 C:\Users\Name 일 거에요. (Name 이라는 것은 윈도우에 로그인할 때 사용한 아이디를 말합니다.)

이 튜토리얼에서는 home 디렉토리 아래 djangogirls라는 디렉토리를 새로 만들어 사용하도록 할게요.

mkdir djangogirls
cd djangogirls

이제 myenv 라는 이름의 가상 환경을 만들어 볼게요. 아래와 같은 형식의 명령을 실행하세요.

python3 -m venv myvenv

윈도우

virtualenv를 생성하려면 console창을 열고, (앞쪽 챕터에서 얘기했는데, 기억나죠?) 그리고 C:\Python34\python -m venv myvenv를 실행해야해요. 아마도 화면에는 이런 것들이 보이겠죠?

C:\Users\Name\djangogirls> C:\Python34\python -m venv myvenv

여기서 C:\Python34\python 은 파이썬이 설치된 디렉토리이고, myvenv 는 설치할 가상 환경의 이름이예요. 이름은 마음대로 정할 수 있지만, 소문자여야하고 공백은 없어야하고 특수문자도 사용하면 안돼요. 이름은 짧게 만드는 것이 좋아요. 자주 입력해야하니까요.

리눅스와 맥OS

리눅스와 맥에서 virtualenv를 생성하려면 간단하게 python3 -m venv myvenv를 실행하면 됩니다. 화면에 이렇게 나타날 거에요:

~/djangogirls$ python3 -m venv myvenv

여기서 myvenv 는 가상 환경의 이름이예요. 이름은 마음대로 정할 수 있지만, 소문자여야하고 공백은 없어야해요. 이름은 짧게 만드는게 좋아요. 자주 입력해야하니까요.

주의: 우분투 14.04 에서는 이런 오류가 뜰 수 있어요.

Error: Command '['/home/eddie/Slask/tmp/venv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1

이 문제를 해결하려면 virtualenv 명령을 사용해야해요.

~/djangogirls$ sudo apt-get install python-virtualenv
~/djangogirls$ virtualenv --python=python3.4 myvenv

가상환경 사용하기

앞의 명령을 사용하면 myvenv라는 디렉토리가 만들어져요. (이름을 다르게 했다면 그 이름의 디레토리가 만들어집니다.) 그리고 그 디렉토리에 우리가 사용할 가상 환경이 들어있어요. (디렉토리와 파일들이 있어요.)

윈도우

다음과 같이 가상환경을 실행하세요.

C:\Users\Name\djangogirls> myvenv\Scripts\activate

리눅스와 맥OS

다음과 같이 가상환경을 실행하세요.

~/djangogirls$ source myvenv/bin/activate

실행할 때 myvenv 부분에 자신이 선택한 가상 환경의 이름을 적어야 해요!

주의: 간혹 source 명령이 동작하지 않을 수도 있어요. 그럴 때는 이렇게 하세요.

~/djangogirls$ . myvenv/bin/activate

가상환경이 실행되었는지는 콘솔의 프롬프트를 보면 알 수 있어요.

(myvenv) C:\Users\Name\djangogirls>

또는

(myvenv) ~/djangogirls$

앞쪽에 (myvenv)가 보이지요?

가상 환경을 시작하고 나면 python이라고만 해도 지정한 버전의 파이썬이 실행되기 때문에 python3 대신 python이라고 입력해도 된답니다.

자, 이제 필요한 것들이 준비되었어요. 드디어 장고를 설치할 수 있어요!

장고 설치하기

이제 virtualenv 가 시작되었으니, pip를 이용해 장고를 설치할 수 있어요. 콘솔에서 pip install django==1.8를 실행해보세요. (조심하세요. 이퀄기호가 두 개예요: ==).

(myvenv) ~$ pip install django==1.8
Downloading/unpacking django==1.8
Installing collected packages: django
Successfully installed django
Cleaning up...

윈도우에서는

만약 윈도우에서 pip를 실행했는데 오류가 발생했다면 경로에 공백이나 특수문자가 없는지 (C:\Users\User Name\djangogirls 처럼요) 확인하세요. 만약 그렇다면 (C:\djangogirls 처럼) 공백이나 특수문자가 없는 곳으로 옮겨보세요. 옮긴 후에 다시 한 번 시도해보세요.

리눅스에서는

우분투 12.04에서 오류가 발생했다면 python -m pip install -U --force-reinstall pip 명령으로 가상환경 내의 pip를 고쳐주세요.

잘했어요! 드디어 장고 어플리케이션을 만들 준비가 끝났습니다!

코드 에디터 설치하기

코드 편집기는 종류가 많고 다양해 자신의 취향에 따라 선택할 수 있어요. 대부분의 파이썬 프로그래머는 PyCharm과 같이 복잡하지만 강력한 IDE (통합개발환경: Integrated Development Environments)를 이용합니다. 하지만, 초보자에게 적절하지 않는 도구일 수 있어요. 우리는 간단하지만 강력한 기능을 갖춘 에디터들을 추천합니다.

아래 추천 에디터 프로그램 중 내가 사용하고 싶은 것을 선택해 사용해도 되지만, 여러분의 코치가 현재 어떤 에디트를 사용 중인지도 물어보세요. 같은 에디터를 사용하면 도움받기 더 쉽고 편할 거에요.

Gedit

Gedit는 모든 운영체제에서 사용 가능한 무료 오픈소스에요. 이 곳에서 다운받으세요.

Sublime Text 2

Sublime Text는 인기있는 에디터이면서 무료로 사용할 수 있어요. 설치와 사용이 편리하고 모든 운영체제에서 쓸 수 있어요. 이 곳에서 다운받으세요.

Atom

Atom은 아주 최근에 GitHub에서 만든 에디터예요. 무료로 제공되는 오픈소스이며, 설치나 사용이 쉬워요. 윈도우, 맥OS, 리눅스에서 쓸 수 있어요. 이 곳에서 다운받으세요.

왜 코드 에디터를 설치해야 하나요?

워드나 노트패드가 있는데도, 굳이 코드 에디터 소프트웨어를 설치해야 하는 이유가 궁금할 거에요.

첫 번째로 코드는 일반 텍스트여야 하는데, 워드나 텍스트에딧(Textedit)과 같은 프로그램에서는 일반 텍스트가 아닌 RTF(Rich Text Format)와 같은 사용자 서식을 쓴 리치 텍스트(폰트와 서식이 있는 텍스트) 가 생성되기 때문입니다.

두 번째 이유는 코드 에디터는 개발에 도움이 되는 여러 기능을 제공하기 때문입니다. 대표적인 예로, 코드를 해석해서 색으로 문법을 하이라이팅해주는 기능이라든가 큰따옴표("")를 자동으로 닫아주는 등과 같은 기능들이지요.

앞으로 코드 에디터가 어떻게 작동하는지 알아볼 거에요. 곧 여러분은 내가 사용하는 코드 에디터를 제일 좋아하게 될 거랍니다.

Git 설치하기

윈도우

Git은 git-scm.com에서 다운로드 할 수 있습니다. 다운받은 파일을 설치하는 것은 참 쉬어요. 딱 한 단계만 빼고 기본 설정대로 "다음 다음 다음"을 계속 눌러주면 쉽게 설치할 수 있어요. ; 주의해야할 단계는 다섯 번째 "PATH 환경 설정(Adjusting your PATH environment)" 화면이에요. "윈도우 커맨드라인에서 Git과 유닉스 도구를 실행(Run Git and associated Unix tools from the Windows command-line)"을 선택하세요. (옵션 아래쪽에 있어요.) 나머지는 모두 기본 설정대로 해도 됩니다. 윈도우 스타일, 유닉스 스타일로 라인엔딩 커밋하기(commit Unix-style line endings) 를 체크하는 것도 좋습니다.

MacOS

git-scm.com에서 맥용 설치파일을 다운받은 다음 실행해 나오는 지시 사항에 따라 설치하시면 됩니다.

리눅스

설치가 안되었다면, 패키지 관리자로 git 설치를 해야해요. 다음과 같이 해보세요:

sudo apt-get install git
# 또는
sudo yum install git

GitHub 계정 만들기

GitHub.com에 가서 무료 사용자 계정으로 회원가입을 하세요.

PythonAnywhere 계정 만들기

다음 PythonAnywhere에서 무료 계정인 "초보자(Beginner)"로 회원가입 하세요.

: 여러분의 유저네임을 정할 때 블로그 주소의 일부가 여러분의 유저네임으로 되는 것을 염두하고 정하세요. 예를 들어 유저네임이 uourusername이라면 여러분의 블로그 URL은 yourusername.pythonanywhere.com이 된답니다.

코딩 시작

축하합니다. 드디어 여러분은 시작할 준비가 되었답니다! 워크샵 전에 튜토리얼의 앞 부분을 미리 읽어두면 시작하는데 도움이 될 거에요. :

 

 

 

출처 - http://tutorial.djangogirls.org/ 

블로그 이미지

Diano.

http://www.diano.kr / 이사하는중 /

,

Python 시작하기

언어 2016. 8. 31. 22:00

Python 시작하기

자, 코딩 한 번 해봅시다!

파이썬 프롬프트(Python prompt)

파이썬과 놀기 위해서는 커맨드 라인을 열어야 합니다. 커맨드 라인 시작하기에서 배웠던 걸 기억하고 있겠지요?

준비되었다면, 아래 내용을 잘 따라오세요.

파이썬 콘솔을 실행하기 위해 윈도우에서는 python을 입력하고, 맥OS나 리눅스라면 python3를 입력하고 엔터를 입력하세요.

$ python3
Python 3.4.3 (...)
Type "help", "copyright", "credits" or "license" for more information.
>>>

나의 첫 번째 파이썬 명령!

파이썬을 실행시키고 나면 프롬프트가 >>>로 바뀝니다. 이제부터는 파이썬 언어의 명령어만 사용할 수 있다는 뜻이예요. >>>를 입력할 필요 없어요. 파이썬이 대신해 줄 테니까요.

파이썬 콘솔에서 나가려면 exit() 을 입력하거나, 윈도우에서는 Ctrl + Z 를, 맥이나 리눅스에서는 Ctrl + D를 입력하면 됩니다. 그러면 >>> 는 사라질 거에요.

물론 지금 파이썬 콘솔을 종료할 필요가 없답니다. 아직 파이썬 콘솔에 대해 좀 더 배워야하니까요. 아주 간단한 것부터 시작해봅시다. 먼저, 수학 사칙연산처럼 2 + 3을 입력하고 엔터를 쳐보세요.

>>> 2 + 3
5

잘했어요! 값이 출력되었나요? 파이썬은 수학을 할 줄 알아요. 다른 명령도 테스트해 보세요. : - 4 * 5 - 5 - 1 - 40 / 2

조금 놀아봤다면 다시 여기로 돌아와주세요. :)

보시다시피, 파이썬은 훌륭한 계산기랍니다. 그 밖에 여러분들이 할 수 있는 것들이 궁금하다면...

문자열(String)

이름은 어떨까요? 따옴표로 이름을 감싸서 입력해보세요.

>>> "Ola"
'Ola'

처음으로 문자열을 만들었군요! 문자열은 컴퓨터가 처리할 수 있는 연속된 문자를 말해요. 문자열은 반드시 시작과 끝이 같은 문자여야 해요. 문자열은 작은따옴표(') 나 큰따옴표(")로 감싸야 해요. (둘 간의 차이점은 없어요. 단지 하나로 감싸나 둘로 감싸나 차이일 뿐이에요) 이 따옴표는 파이썬에게 안에 문자열이 들어있다고 알려줍니다.

문자열들은 줄줄이 사탕처럼 연결될 수 있어요. 이렇게요. :

>>> "Hi there " + "Ola"
'Hi there Ola'

문자열이랑 숫자를 곱할 수도 있어요.

>>> "Ola" * 3
'OlaOlaOla'

문자열 안에 작은따옴표를 넣고 싶다면, 두 가지 방법이 있어요.

큰따옴표를 사용하는 방법과

>>> "Runnin' down the hill"
"Runnin' down the hill"

백슬래시 (``) 기호를 이용하는 방법이예요.

>>> 'Runnin\' down the hill'
"Runnin' down the hill"

알겠나요? 이제 이름을 대문자로 만들어볼까요. :

>>> "Ola".upper()
'OLA'

방금 문자열에 upper이라는 함수(function)를 사용했어요! 함수(upper() 같은 것)란 파이썬이 주어진 대상("Ola"같은)에 대해서 수행할 수 있는 일련의 명령을 말해요.

이름에 들어있는 글자의 수를 알고 싶을 때, 사용하는 함수도 있어요.

>>> len("Ola")
3

함수 호출 시, 어떤 함수는 문자열 뒤에 .를 붙이고, ("Ola".upper() 처럼), 또 어떤 함수는 함수 뒤에 문자열이 들어간 괄호를 붙이는지 궁금하셨죠? upper()와 같은 함수는 객체에 속하게 되어 해당 문자열에서만 수행되기 때문이죠. 이 같은 경우, 함수를 메서드(method)라고 합니다. 그리고, len()과 같은 함수들은 특정한 대상에 속하지 않고 여러 가지 객체를 대상으로 사용할 수 있습니다. 그래서 len 함수에 "Ola"를 매개 변수(parameter)로 준 거예요.

요약

자, 문자열은 충분히 다루었어요. 지금까지 우리가 공부한 것들을 정리해봅시다. :

  • 프롬프트(the prompt) - 명령어(코드)를 파이썬 프롬프트에 입력하면 파이썬이 응답합니다.
  • 숫자와 문자열(numbers and strings) - 파이썬에서는 셈을 할 때는 숫자를 사용하고 글을 다룰 때는 문자열을 사용합니다.
  • 연산자(operators) - 값들을 이용해서 새로운 값을 만들 때는 + 나 * 같은 연산자를 이용합니다.
  • 함수(functions) - upper()나 len()처럼 대상에 명령을 수행합니다.

지금까지 프로그래밍 언어의 기초에 대해 알아보았어요. 더 어려운 부분으로 넘어가도 괜찮겠죠? 그럼요!

오류

이제 새로운 것을 해봅시다. 이름의 글자 길이를 알아냈듯이 숫자의 길이도 알 수 있을까요? len(304023) 을 입력하고 엔터를 입력해보세요. :

>>> len(304023)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: object of type 'int' has no len()

첫 번째 에러가 나타났어요! "int" (정수) 형식의 객체는 길이가 없기 때문이지요. 이제 어떻게 할 수 있을까요? 숫자(number)를 문자열(String)로 바꿔 쓸 수 있지 않을까요? 문자열은 길이를 갖고 있으니까요, 그렇죠?

>>> len(str(304023))
6

잘 되네요! 앞에서 우리는 len 함수 내부에 str 함수를 사용했어요. str 함수는 모든 것을 문자열로 변환한답니다.

  • str함수는 대상을 문자열 로 변환합니다
  • int 함수는 대상을 정수 로 변환합니다.

중요 : 우리는 숫자를 텍스트로 변환할 수는 있지만, 반드시 텍스트를 숫자로 변환할 수 있는건 아닙니다. - int('hello') 가 어떻게 될 것 같나요?

변수

변수는 프로그래밍에서 중요한 개념입니다. 변수란 어떤 것을 나중에도 사용할 수 있도록 이름을 붙인 것일 뿐 입니다. 프로그래머들은 이 변수를 데이터 저장하는데 사용하고, 작성한 코드를 다 기억할 필요없이 코드를 읽기 쉽게 하기 위해 사용하지요.

name이라는 새로운 변수를 만들어 보세요. :

>>> name = "Ola"

봤죠? 간단해요. 매우 쉬어요! : name은 Ola와 같다.

여러분도 알겠지만, 프로그램은 이전에 수행한 것을 보여주지 않아요. 그러면 실제 변수에 어떤 값이 들어있는지 알려면 어떻게 해야할까요? 간단하게 name를 입력하고 엔터를 입력하세요. :

>>> name
'Ola'

야호! 여러분이 만든 첫 변수입니다! :) 언제든지 여러분은 변수를 바꿀 수 있어요. :

>>> name = "Sonja"
>>> name
'Sonja'

또 함수 안에서 변수를 사용할 수 있습니다. :

>>> len(name)
5

멋지죠? 물론 변수는 무엇이든지 담을 수 있으니, 당연히 숫자도 가능하죠! 해봅시다. :

>>> a = 4
>>> b = 6
>>> a * b
24

그런데 만약 잘못된 이름을 사용했다면 어떻게 될까요? 해봅시다!

>>> city = "Tokyo"
>>> ctiy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'ctiy' is not defined

에러가 나타났네요! 보다시피, 파이썬에는 많은 종류의 오류들이 있습니다. NameError는 그 중 하나입니다. 파이썬은 아직 정의하지 않은 변수를 사용하면 이 오류를 보여줍니다. 나중에 똑같은 오류를 보게 된다면, 이름에 오타가 없는지 확인해보세요.

잠시동안 변수와 놀아봅시다. 그리고 어떤 것들을 할 수 있는지 살펴보아요!

print 함수

아래와 같이 따라해보세요:

>>> name = 'Maria'
>>> name
'Maria'
>>> print(name)
Maria

name을 쳤을 때, 파이썬 해석기는 'name' 변수의 문자열 표현(representatio)으로 응답하는데, 그 모양은 작은따옴표('') 로 둘러싸인 M-a-r-i-a 문자들 입니다. print(name)라고 치면, 파이썬은 화면에 따옴표 없이 더 깔끔한 변수를 "출력(print)"합니다.

나중에 보겠지만, print()는 함수 안에 있는 어떤 것을 출력하거나, 이를 여러 줄로 출력할 때 유용하게 사용됩니다.

리스트 (List)

문자열과 정수 외에, 파이썬은 객체 정렬 위한 여러 방법들이 있어요. 이제 리스트라고 불리는 녀석에 대해서 알아보기로 하겠습니다. 리스트를 이렇게 생각하시면 됩니다. : 다른 객체들을 나열한 객체

이제 리스트를 만듭시다. :

>>> []
[]

네, 리스트가 비어있어요. 별로 유용해 보이지 않죠? 이제 로또 번호 목록을 만들어 봅시다. 매번 직접 우리가 반복하기는 귀찮으니, 리스트에 변수를 넣어봅시다. :

>>> lottery = [3, 42, 12, 19, 30, 59]

좋아요, 리스트를 만들었네요! 어떻게 쓰면 될까요? 목록에 수 많은 로또 번호가 있다고 생각해봅시다. 함수를 사용할 수 있는 아이디어가 떠올랐나요? 여러분들은 이미 앞에서 해봤어요!

>>> len(lottery)
6

네! len() 함수는 리스트 안에 있는 객체의 수를 알려줍니다. 편리하지 않나요? 이제 정렬을 해봅시다. :

>>> lottery.sort()

아무것도 보여주지 않네요. 이 함수는 리스트 안의 숫자들을 오름차순으로 정렬합니다. 어떻게 변했는지 리스트를 출력해봅시다. :

>>> print(lottery)
[3, 12, 19, 30, 42, 59]

위에 나왔듯이, 리스트 안에 있는 숫자들은 오름차순으로 정렬되었습니다. 축하합니다!

만약 반대로 내림차순으로 정렬하고 싶다면요? 하면 됩니다!

>>> lottery.reverse()
>>> print(lottery)
[59, 42, 30, 19, 12, 3]

참 쉽죠? 여러분이 리스트에 새로운 값을 추가하고 싶다면, 추가할 때마다 매번 다시 정렬 명령을 해줘야 합니다. :

>>> lottery.append(199)
>>> print(lottery)
[59, 42, 30, 19, 12, 3, 199]

만약 첫 번째 숫자 하나만 보여주고 싶다면, 인덱스(index)를 사용하세요. 인덱스는 리스트 안의 아이템 위치를 나타내는 숫자입니다. 프로그래머는 0부터 세는 것을 선호합니다. 따라서 리스트에 있는 첫 번째 객체는 인덱스 0부터 시작하고, 그 다음은 1, 그 다음은 2.. 가 됩니다. 해봅시다. :

>>> print(lottery[0])
59
>>> print(lottery[1])
42

리스트의 이름이나 대괄호 안에 들어가는 객체의 인덱스를 사용해서, 리스트 안에 있는 다른 객체로도 접근이 가능합니다.

리스트에서 뭔가 지우려면 indexes 위에서 이미 배운대로 del 문을 사용해야 합니다. (del은 delete의 약자에요) 이제 한번 해보고 이전에 배웠던 것을 다시 떠올려봅시다. ; 목록에서 첫 번째 숫자를 삭제할 것입니다.

>>> print(lottery)
[59, 42, 30, 19, 12, 3, 199]
>>> print(lottery[0])
59
>>> del lottery[0]
>>> print(lottery)
[42, 30, 19, 12, 3, 199]

마법 같네요!

재미로 몇 번 더 여러 인덱스를 테스트해보세요: 6, 7, 1000, -1, -6, -1000 등이요. 결과값을 보기 전에 미리 어떤 값이 나올지 예상할 수 있었나요? 생각했던 정답이 나왔나요?

이번 장에 나온 리스트 메서드와 관련된 모든 내용은 파이썬 공식 문서에서 찾을 수 있습니다. :https://docs.python.org/3/tutorial/datastructures.html

딕셔너리(Dictionary)

딕셔너리는 리스트와 유사하지만, 인덱스가 아닌 키(key)로 값을 찾습니다. 키는 문자열이든, 숫자든지 상관없습니다. 빈 딕셔너리를 만드는 문법은 아래와 같습니다. :

>>> {}
{}

방금 비어있는 딕셔너리를 하나 만들었답니다. 만세!

자, 이제 아래 명령어를 따라 작성해 봅시다. (안에 있는 정보는 마음대로 바꿔도 됩니다):

>>> participant = {'name': 'Ola', 'country': 'Poland', 'favorite_numbers': [7, 42, 92]}

위 명령어로 paticipant라는 이름의 변수를 만들었습니다. 이 변수 안에는 3개의 키-값 쌍이 들어있습니다.

  • 키(key) 는 name이고, 값(value) 는 'Ola'를 가리킵니다. (string(문자열) 객체이지요),
  • 키 country의 값은 'Poland'입니다. (또 다른 string입니다.),
  • 그리고 키 favorite_numbers는 [7, 42, 92]를 가리킵니다. (리스트에는 세 개의 숫자가 있습니다)

여러분은 아래와 같은 문법으로 개별 키의 값에 접근할 수 있습니다.

>>> print(participant['name'])
Ola

리스트와 조금 비슷하죠. 다만 인덱스가 아닌, 이름을 사용해 값에 접근한다는 것을 기억하세요.

만약 파이썬에 키에 대응하는 값이 없는 경우에는 어떻게 될까요? 예측할 수 있나요? 그럼 한 번 알아봅시다!

>>> participant['age']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'age'

보세요, 에러가 났네요! 이번에는 KeyError에러가 났습니다. 파이썬은 친절하게 키 'age'가 딕셔너리에 존재하지 않는다고 알려주네요.

그렇다면 언제 딕셔너리를 쓰고, 언제 리스트를 사용해야할까요? 이를 위한 판단 기준은 다음과 같습니다.

  • 아이템을 나열할 때 정렬이 필요하나요? 그렇다면 리스트를 사용하세요.
  • 키(key) 과 값(value) 이 서로 연관되어 있어야 하나요? 또는 보다 효과적으로 (키를 사용해서) 어떤 값을 찾아야 하나요? 그렇다면, 딕셔너리를 사용하세요.

딕셔너리는 리스트와 유사하지만, 변경(mutable)할 수 있습니다. 딕셔너리가 만들어진 후에도, 그 값을 마음대로 변경할 수 있다는 뜻이지요. 키/값 을 나중에 추가할 수 있답니다. 바로 이렇게요. :

>>> participant['favorite_language'] = 'Python'

리스트처럼 딕셔너리도 len() 메서드를 사용하여 키-값 쌍의 수를 리턴합니다. 한 번 커맨드라인에서 확인합시다. :

>>> len(participant)
4

다들 이해를 잘 하고 있으리라 믿어요 :) 딕셔너리로 좀 더 재미있는 것을 해볼까요? 좀더 흥미로운 내용이 다음에 있어요.

del 명령어로 딕셔너리에 있는 아이템을 삭제할 수 있습니다. 'favorite_numbers' 키를 삭제하고 싶으면, 아래와 같은 명령어를 입력하면 됩니다. :

>>> del participant['favorite_numbers']
>>> participant
{'country': 'Poland', 'favorite_language': 'Python', 'name': 'Ola'}

위에 보여지는 결과처럼 'favorite_numbers' 에 해당하는 키-값 쌍이 삭제되었네요.

이뿐만 아니라 딕셔너리 안에 이미 만들어진 키에 해당하는 값도 변경할 수 있습니다. 다음 내용을 해보세요. :

>>> participant['country'] = 'Germany'
>>> participant
{'country': 'Germany', 'favorite_language': 'Python', 'name': 'Ola'}

보셨듯이, 'country' 키에 해당하는 값이 'Poland'에서 'Germany'로 변경되었네요. :) 재미있죠? 야호! 우리는 또 굉장한 것을 배웠네요.

요약

훌륭하네요! 이제 모두가 프로그래밍에 대해서 많은 것을 알게 되었어요. 지금까지 우리가 배운 내용은 다음과 같아요. :

  • 에러 - 파이썬이 작성된 명령어를 이해하지 못할 때 발생하는 에러를 읽고 이해할 수 있습니다.
  • 변수 - 객체에 이름을 붙여 코드를 가독성 좋게 작성할 수 있습니다.
  • 리스트 - 특정한 순서로 정렬된 객체들이 저장된 목록임을 알고 있습니다.
  • 딕셔너리 - 키(key)-값(value) 쌍으로 이루어진 객체들이 저장된 것임을 알고 있습니다.

다음 내용이 기대되나요? :)

비교하기

무엇인가 비교하는 것은 프로그래밍에서 매우 중요한 부분이에요. 비교를 할 때, 제일 쉬운 방법은 무엇일까요? 당연히, 숫자입니다. 어떻게 하는지 알아볼게요. :

>>> 5 > 2
True
>>> 3 < 1
False
>>> 5 > 2 * 2
True
>>> 1 == 1
True
>>> 5 != 2
True

파이썬이 숫자들을 비교했네요. 여러분도 보았듯이, 파이썬은 숫자 뿐만 아니라 메서드 결과도 비교 가능합니다. 멋지죠?

두 숫자를 비교할 때 왜 등호 부호 ==를 사용하는지 궁금했죠? 우리는 변수에 값을 넣을 때 한 개의 등호 기호 =를 사용하죠. 그렇기 때문에, 두 대상이 같은지 서로 비교하기 위해서는 항상 두 개의 등호 기호 ==를 사용해야 합니다. 마찬가지로 두 대상이 서로 같지 않다라고 말할 수 있습니다. 위 예제에서 볼 수 있었듯이 서로 같은 대상이 아닐 때는 != 기호를 사용합니다.

두 번 더 테스트 해볼게요. :

>>> 6 >= 12 / 2
True
>>> 3 <= 2
False

>와 <는 알겠지만, >=와 <=는 무슨 뜻일까요? 아래 내용을 읽어보세요. :

  • > y : x는 y보다 크다
  • < : x는 y보다 작다
  • <= : x가 y보다 작거나 같다
  • >= : x가 y보다 크거나 같다

잘했어요! 좀 더 해볼까요? 이런 건 어떨까요. :

>>> 6 > 2 and 2 < 3
True
>>> 3 > 2 and 2 < 1
False
>>> 3 > 2 or 2 < 1
True

파이썬은 얼마든지 원하는 만큼 숫자를 비교할 수 있고 답을 알려줄 거에요! 똑똑한 녀석이죠?

  • and - and 연산자는, 두 값 모두 참(True) 일 경우에만 결과가 True가 됩니다.
  • or - or 연산자는, 둘 중 하나만 참(True) 일 경우에 True가 됩니다.

"사과를 오렌지에 비교하기"라는 말을 들어본 적이 있나요? 파이썬에게 시켜봅시다. :

>>> 1 > 'django'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unorderable types: int() > str()

이처럼 파이썬은 숫자(int)와 문자열(str)을 비교할 수 없어요. 대신 TypeError를 보여줘 두 타입이 서로 비교 대상이 아니라는 것을 알려줍니다.

Boolean (불리언)

방금 전 파이썬의 새로운 객체 종류를 배웠는데요. 바로 Boolean입니다. 여기 있는 것 중에 가장 쉬운 걸 거에요.

Boolean 객체는 종류는 딱 두 가지 뿐이에요.: - 참(True) - 거짓(False)

그런데 파이썬이 이해시키려면, 항상 'True'라고 써야 합니다. (즉 첫 글자가 대문자고 나머지는 소문자여야만, Boolean으로 이해하는 것이죠.) true, TRUE, tRUE는 모두 틀린 표현이에요. -- True만 올바른 표현입니다. (False도 마찬가지입니다.)

Boolean도 변수로 사용할 수도 있습니다! 다음을 보세요. :

>>> a = True
>>> a
True

이런 식으로도 쓸 수 있습니다.

>>> a = 2 > 5
>>> a
False

아래 명령어를 실행해보면서 Boolean을 가지고 놀아보세요. :

  • True and True
  • False and True
  • True or 1 == 1
  • 1 != 2

축하합니다! Boolean은 프로그래밍에 있어서 가장 멋진 기능 중 하나에요. 여러분은 Boolean을 앞으로 어떻게 사용해야 하는지 방금 배웠답니다!

코드 저장하기!

지금까지 우리는 인터프리터(interpreter)에서 파이썬 코드를 입력해 왔어요. 한 번에 코드 한 줄만 입력할 수 있었어요. 일반적으로 프로그램은 파일로 저장되어 프로그래밍 언어 인터프리터(interpreter) 또는 컴파일러(complier)로 실행됩니다. 지금까지 우리는 파이썬 인터프리터에서 한 줄씩 코드를 입력해 프로그램을 실행시켰어요. 이제 앞으로는 한 줄 이상 더 많은 코드를 작성해 실행해 볼 거에요. 빨리 해볼게요. :

  • 파이썬 인터프리터를 종료하세요.
  • 선택한 코드 에디터를 실행하세요.
  • 코드를 새 파이썬 파일로 저장하세요.
  • 실행하세요!

사용했던 파이썬 인터프리터를 종료하려면, exit()~~~ 함수를 입력하세요. :

>>> exit()
$

그러면 커맨드 프롬프트(또는 콘솔창) 가 초기화 됩니다.

앞서 우리는 코드 편집기 섹션에서 어떤 코드 편집기를 사용할지 정했었습니다. 이제 편집기를 실행해서 새 코드를 작성하여 새 파일로 저장합니다:

    print('Hello, Django girls!')

우리는 코드 에디터의 멋진 기능을 알고 있어야 해요. : 파이썬 콘솔에서는 모든 코드가 같은 색이였지만, 이제 print 함수와 그 안에 있는 문자열이 다른 색깔로 되어 구분할 수 있다는 것을 알게 되었을 거에요. 이를 "문법 하이라이팅(syntax highlighting)" 하는데, 코딩할 때 필요한 기능이죠. 이 기능은 여러분에게 색깔로 힌트를 알려줘요. 예를 들어, 문자열이 제대로 닫히지 않았다던가, 특정 키워드(함수에서 사용하는 def 같은 특별한 의미로 쓰이는 단어. 앞으로 다룰 거에요.)를 사용할 때, 다른 색으로 지정해서 바로 알 수 있게 해주죠. 그래서 우리는 코드 에디터를 사용한답니다. :)

오늘 우리 모두가 파이썬 개발자가 되었답니다. 그러니 오늘 배운 코드를 가지고 놀아보세요.

이제 파일을 저장하고 파일 이름을 바꾸세요. 바탕화면에 python_intro.py 파일로 저장하세요. 원하는 파일이름으로 저장할 수 있지만, 파일 이름이 반드시 .py로 끝나야 해요. .py파일 확장자는 운영체제에게 파이썬 실행 파일이니 파이썬을 실행하라고 지시합니다.

파일을 저장했다면, 커맨드라인 장에서 배웠던 것을 써먹어야죠! 터미널에서 데스크탑으로 디렉토리 변경을 해보세요.

맥이라면 명령어는 다음과 같을 것입니다. :

cd /Users/<your_name>/Desktop

리눅스는 다음과 같아요. ("Desktop"이라는 문자는 해당 국어로 번역되어 있을 것에요. 한국어라면 "데스크탑" 또는 "바탕화면"으로 번역되어 있을 것입니다.)

cd /home/<your_name>/Desktop

또는 "바탕화면"으로 번역되어 있다면
cd /home/<your_name>/바탕화면

또는 "데스크탑"으로 번역되어 있다면
cd /home/<your_name>/데스크탑

윈도우라면 다음과 같이 하세요. :

> cd C:\Users\<your_name>\Desktop

혹시 하다가 막히면, 코치에게 도움을 요청하세요.

이제 파일 안에 있는 코드를 실행하기 위해 다음과 같이 파이썬을 실행해 봅시다. :

$ python3 python_intro.py
Hello, Django girls!

잘했어요! 우리는 첫 파이썬 프로그램이 저장된 파일을 실행했어요. 내가 드디어 해냈다고 느껴지나요?

다음으로 프로그래밍의 필수 도구를 알아볼 차례에요. :

If...elif...else

코드의 많은 부분은 조건을 만났을 때 실행된답니다. 이를 위해 파이썬은 if문을 사용합니다.

python_intro.py 파일을 다음과 같이 수정하세요:

    if 3 > 2:

저장하고 실행하면 아래와 같은 에러를 보게 될 거에요. :

$ python3 python_intro.py
File "python_intro.py", line 2
         ^
SyntaxError: unexpected EOF while parsing

파이썬은 조건문 3 > 2가 참인 경우(또는 값이 True인 경우)에 어떤할 지 물어 보네요. 이 경우에 파이썬이 "It works!"를 출력하게 해봅시다. : python_intro.py 파일을 아래와 같이 수정하세요. :

    if 3 > 2:
        print('It works!')

두 번째 줄 들여쓰기 된 코드에 스페이스 4칸을 준 게 보이나요? 조건의 결과(여기서는 3>2) 가 참일 경우에, 실행할 코드에 들여쓰기를 해줘야 합니다. 물론 스페이스 한 칸만 띄울 수 있지만, 거의 모든 파이썬 프로그래머들은 코드를 깔끔하게 작성하기 위해 4칸을 사용해요. 탭(tab)한 번은 스페이스 4칸을 준 것과 같아요.

이제 저장하고 실행해보세요. :

$ python3 python_intro.py
It works!

조건이 참(True) 이 아니라면 어떻게 되나요?

앞의 예제에서 코드가 조건이 True인 경우에만 실행되게 만들었어요. 하지만 파이썬은 elif문과 else문도 사용할 수 있습니다.

    if 5 > 2:
        print('5 is indeed greater than 2')
    else:
        print('5 is not greater than 2')

실행하면 다음과 같이 출력됩니다. :

$ python3 python_intro.py
5 is indeed greater than 2

만약 2가 5보다 크다면 두번째 명령이 실행됩니다. 참 쉽죠? 이제 elif가 어떻게 작동하는지 봅시다. :

    name = 'Sonja'
    if name == 'Ola':
        print('Hey Ola!')
    elif name == 'Sonja':
        print('Hey Sonja!')
    else:
        print('Hey anonymous!')

그리고 실행해보세요. :

$ python3 python_intro.py
Hey Sonja!

어떻게 됐나요? elif문은 맨 처음 조건이 아닐 경우 그 다음 조건을 처리하게 해줍니다.

여러분은 if 문을 쓴 다음에 원하는 만큼 elif 문을 계속 추가할 수 있어요. 이렇게요. :

    volume = 57
    if volume < 20:
        print("It's kinda quiet.")
    elif 20 <= volume < 40:
        print("It's nice for background music")
    elif 40 <= volume < 60:
        print("Perfect, I can hear all the details")
    elif 60 <= volume < 80:
        print("Nice for parties")
    elif 80 <= volume < 100:
        print("A bit loud!")
    else:
        print("My ears are hurting! :(")

파이썬이 각 테스트를 순서대로 실행하고 출력합니다:

$ python3 python_intro.py
Perfect, I can hear all the details

요약

지금까지 우리는 세 예제로 다음과 같은 것들을 배웠어요. :

  • 비교하기 - 파이썬에서 >>===<=< 그리고 andor 연산자를 사용해 비교합니다.
  • Boolean -두 둘 중 하나의 값만 가질 수 있는 객체입니다. : True 또는 False
  • 파일 저장하기 - 복잡한 프로그램을 실행할 수 있도록 코드를 파일로 저장합니다.
  • if...elif...else - 조건문을 작성해 특정 조건이 주어졌을 때만 코드가 실행되도록 만듭니다.

드디어 이번 장의 마지막 부분입니다!

나만의 함수 만들기!

앞에서 했던 파이썬 len() 같은 함수를 기억하나요? 네, 좋은 소식이에요. 지금부터는 함수를 만드는 법을 배울 거에요!

함수는 파이썬이 실행해야하는 명령어의 나열이에요. 파이썬의 각 함수는 def로 시작해, 이름을 가지고, 몇 가지 매개 변수를 가집니다. 쉬운 것부터 시작할게요. python_intro.py파일을 열어 코드를 다음과 같이 고치세요. :

    def hi():
        print('Hi there!')
        print('How are you?')

    hi()

네, 우리가 만든 첫 번째 함수네요!

파일 맨 밑에 왜 함수의 이름을 적는지 궁금할거에요. 왜냐하면 파이썬은 파일을 위에서 아래로 읽어 실행하기 때문이에요. 함수를 사용하기 위해서는 하단에 다시 적어야 합니다.

이제 실행해서 어떻게 되는지 봅시다. :

$ python3 python_intro.py
Hi there!
How are you?

정말 간단하네요! 매개 변수와 함께 첫 번째 함수를 만들어 볼게요. 전에 사용했던 예제를 다시 사용할 거에요. 함수를 실행하면, 사람들에게 이름과 함께 'hi'를 말하게요.

    def hi(name):

함수에 매개변수인 name를 주었어요.

    def hi(name):
        if name == 'Ola':
            print('Hi Ola!')
        elif name == 'Sonja':
            print('Hi Sonja!')
        else:
            print('Hi anonymous!')

    hi()

기억하세요 : if문 안의 print함수는 4칸을 들여쓰기 했습니다. 조건문에 해당하는 경우에만 실행되게 만들기 위해서에요. 이제 어떻게 되는지 보세요. :

$ python3 python_intro.py
Traceback (most recent call last):
File "python_intro.py", line 10, in <module>
  hi()
TypeError: hi() missing 1 required positional argument: 'name'

이런, 에러가 나왔네요. 다행히도, 파이썬 에러는 유용한 오류 메세지를 보여주네요. 에러 메시지를 보면 함수 hi()가 한 개의 인자값(name) 을 필요로 하는데, 그 함수를 호출할 때 빼먹고 실행했다는 것을 알려주고 있어요. 이제 아래와 같이 코드를 수정해봅시다. :

    hi("Ola")

그리고 다시 실행해보세요. :

$ python3 python_intro.py
Hi Ola!

만약 이름을 바꾸면 어떻게 될까요?

    hi("Sonja")

그리고 실행하세요. :

$ python3 python_intro.py
Hi Sonja!

이제 다른 이름(Ola와 Sonja가 아닌) 을 넣는다면 어떻게 될까요? 한번 넣어서 실행해봅시다. 이렇게 나와야 해요. :

Hi anonymous!

어때요, 정말 굉장하지 않나요? 이로써 인사 함수가 호출될 때마다, 사람 이름을 매번 반복할 필요가 없어요. 그래서 함수가 필요해요 - 매번 똑같은 코드를 반복해 작성하지 않아도 돼요!

좀 더 똑똑한 것을 해볼게요. -- 2명 이상 이름이 있는 경우, 이름마다 조건문을 추가하는 건 꽤 귀찮은 일이 될거에요. 그렇죠?

    def hi(name):
        print('Hi ' + name + '!')

    hi("Rachel")

이제 코드를 실행해 봅시다:

$ python3 python_intro.py
Hi Rachel!

축하합니다! 우리는 이제 함수를 작성하는 법을 알게 되었어요! :)

반복하기

이제 마지막 부분입니다. 금방 했죠? :)

프로그래머는 반복되는 일을 스스로 하기를 좋아하지 않아요. 프로그래밍이란 어떤 일들을 자동화하는 것이니까 반복적인 경우가 생기면 그걸 반복해서 해결하는 코드를 짜는 것이지요. 앞에서 했던 예제와 같이 인사해야 하는 사람이 수백명 있을 경우, 설마 각각 사람마다 인사하려고 hi('누구누구') 코드를 수백번 입력하고 싶지는 않겠지요? 이런 경우에 바로 반복문(loop)를 사용할 수 있어요.

리스트 아직 기억하고 있어요? 아래 girls 리스트를 보세요. :

    girls = ['Rachel', 'Monica', 'Phoebe', 'Ola', 'You']

우리는 여자 아이들 이름을 불러 인사를 하고 싶어요. 우리는 이미 hi 함수를 만들었으니 반복문을 사용해봅시다. :

    for name in girls:

for~ 문은 if~ 문과 비슷하게 동작합니다. ; 두 경우 모두 다음에 오는 코드들을 4칸 들여쓰기 해야합니다.

아래 완성된 코드입니다. :

    def hi(name):
        print('Hi ' + name + '!')

    girls = ['Rachel', 'Monica', 'Phoebe', 'Ola', 'You']
    for name in girls:
        hi(name)
        print('Next girl')

실행하면 다음과 같습니다. :

$ python3 python_intro.py
Hi Rachel!
Next girl
Hi Monica!
Next girl
Hi Phoebe!
Next girl
Hi Ola!
Next girl
Hi You!
Next girl

girls 리스트의 요소마다 여러분이 for문에 넣은, 들여쓰기를 한 모든 코드들이 반복됩니다.

for문에 range 함수로 숫자를 사용할 수 있어요.

    for i in range(1, 6):
        print(i)

이렇게 출력됩니다. :

1
2
3
4
5

range는 매개 변수로 넘겨진 숫자부터 시작하는 숫자 리스트를 만들어주는 함수입니다.

파이썬에서는 두 숫자 중 두 번째는 리스트에 포함되지 않는다는 것을 주의하세요. (즉 range(1, 6)는 1부터 5까지 카운트 하며 숫자 6은 리스트에 포함되지 않습니다.) "range"는 반만 열려 있기 때문에, 첫번째 숫자는 포함되지만 마지막 숫자는 포함되지 않아요.

요약

이제 다 끝났어요. 모두 정말 대단해요! 어려운 내용이었는데 잘 해낸 나 자신을 자랑스럽게 생각하세요. 여기까지 온 것이 자랑스럽습니다!

다음 장으로 넘어가지 전에 좀 쉬고 와도 좋아요. 스트레칭을 하던가, 잠깐 산책을 하던가, 눈을 쉬게 한다던가 말이죠. :)

컵케이크

 

출처 - http://tutorial.djangogirls.org/

블로그 이미지

Diano.

http://www.diano.kr / 이사하는중 /

,

파이썬을 배우는 최고의 방법

23 Mar 2016

원문 : The Best Way to Learn Python - Tuts+ Code Article(참조를 위해 최소한으로 요약 번역하였으니 원문을 꼭 참조하세요!)

파이썬은 이전보다 더 인기있으며, 백엔드 웹서버에서 프론트엔드 게임 개발까지 어디서나 사용되고 있다. 파이썬은 정말 일반적인 목적의 언어이며 자존심있는 프로그래머의 무기 중 필수 툴이다.

임무 1: 기초에서 시작하라

두 가지 버전의 파이썬이 있다: 파이썬 2.7과 파이썬 3.4. 어느 것을 선택할지는 크게 중요하지 않다. 입문자에게는 특히, 차이점이 미미하다. 알아야 한다면, 파이썬 2는 서드파티 지원이 훨씬, 훨씬 더 많고, 파이썬 3는 언어를 설계하는 것이 개발자들의 주요 초점이다.

Wikibooks' Non-Programmers Tutorial for Python

위키북스는 새로운 것을 배우는 훌륭한 소스이며, 파이썬도 예외는 아니다. 너무 기술적이지 않고 유용하고 보람있는 무언가를 바로 코딩할 수 있다.

The Official Python Tutorial

python.org의 공식 문서보다 더 나은 정보 소스를 찾을 수 없을 것이다. 그러나, 바로 뛰어들기를 원한다면, 시작하기에 베스트 장소는 아닐 것이다. 위키북스보다 더 기술적이며, 언어를 숙달해갈 때 나중에 도움이 된다.

초보자에게는 파이썬 2와 파이썬 3의 가장 큰 차이점은 파이썬 2는 괄호없이 print를 사용할 수 있고, 파이썬 3는 괄호가 있어야 한다. 그게 다다.

임무 2: 튜토리얼과 스크린 캐스트

TheNewBoston's Python Programming Tutorials

강사가 재미와 듣기 쉬움을 균형있게 전달한다. 프로그래밍에 지식이 없어도 된다.

Nettuts+'s Python from Scratch

프로그래밍 경험없이도 장고를 이용한 다이내믹 웹사이트를 만들게 해준다.

ShowMeDo's Python Screencasts

완전초보부터 중급까지의 파이썬 테크닉과 관련된 비디오 카탈로그가 아주 많다.

Build a Python Bot That Can Play Web Games

완전 초보에게 추천하지는 않지만, 언급할만한 가치는 있다. 간단한 게임을 하는 파이썬 봇을 만드는 법을 보여준다. 매일 반복적인 작업에 적용할 수 있다.

임무 3: 무료 e북들!

고퀄의 무료 e북이 넘치고 있고, 아래는 그 중 베스트 목록이다.

Learn Python the Hard Way

이름과 다르게 매우 쉽게 배울 수 있다.

Think Python: How to Think Like a Computer Scientist

부제와 같이 이론적인 면을 강조한다. 완전초보에게는 약간 어렵지만 알고리즘 이론과 고급 개념에 대해 읽을 수 있다.

Invent with Python

배워서 써먹고 싶다면, 게임을 만드는 것이 좋다! 파이썬을 몰랐더라도 이 책으로 게임을 만들 수 있다.

The Django Book

웹 개발을 위해 파이썬을 배우고 싶다면, 장고 프레임워크를 사용할 것이다. 파이썬에 능숙하고 프레임워크에 초보라면 이 책이 장고를 가르쳐 준다.

PythonBooks

난이도와 주제 따른 파이썬 책에 대한 공식 위키. 한글 책도 소개되어 있다.

임무 4: 스택오버플로우와 친해져라

스택오버플로우에 초보자 에러와 문제만 있는 것은 아니다. 예로 Hidden features of Python을 한번 봐라. 정식 튜토리얼에 없는 수많은 팁과 트릭을 볼 수 있으며, 중급에서 고급 파이썬 사용자에 매우 도움되는 것이다.

임무 5: 프로젝트 오일러

Project Euler(오일러로 발음한다)에서 400 문제를 풀 수 있다. 각 문제는 대략 50%의 수학과 50%의 프로그래밍이다.

새로운 문제를 해결하면 포럼 글타래를 볼 수 있다. 이 곳에서 많은 사람들이 서로 자신의 해결책과 아이디어를 토론하고 있다. 글타래의 후반 페이지에 있는 많은 해결책이 파이썬으로 되어 있을 것이다. 이것은 정말 여러분의 프로그래밍 능력을 키우는 열쇠가 될 것이다. 여러분보다 빠른 해결책이 있다면 시간을 내서 분석하라.

파이썬으로 된 프로젝트 오일러 문제에 대한 정말 훌륭한 블로그도 있다. 배우려고 한다면, 문제에 막혀서 다른 프로그래머의 작업을 살짝 엿보는 것을 부끄러워 하지마라.

임무 6: 게임 만들기

게임을 만드는 것보다 더 만족스러운 것이 거의 없다. 가파른 학습 곡선이 될 수 있지만, 할 가치가 있고 매우 보람있다. PyGame은 가장 알려진 파이썬 게임 라이브러리이며, 무료 투토리얼도 많이 발견할 수 있을 것이다. 여기 베스트 PyGame 튜토리얼이 몇 개 있다.

Pygame 공식 문서

오리지널 파이썬 튜토리얼과 같이 PyGame 개발자도 소개 문서가 가지고 있지만 너무 기술적이다. 그러나 개발자 문서는 항상 정보의 베스트 소스가 될 것이다.

Invent With Python (With PyGame)

TheNewBoston's Computer Game Development Tutorial

위의 가이드와는 다르게 더 요점적이지만 완전한 게임을 만들게 하지는 않는다.

임무 7: 인기 라이브러리와 툴 알기

PyPy

CPU 집중적인 작업을 하려면, 파이썬 자체로는 병목이 생기는 것을 알게되어 아마 PyPy를 필요로 할 것이다. PyPy는 처리속도를 높여줄 수 있는 파이썬의 대체 컴파일러이다.

NumPy + SciPy

보통 이 두개는 나란히 간다(SciPy가 NumPy에 의존한다). 수학적이거나 과학적인 연구를 위한 진지한 계산 처리를 한다면 이 두 개의 라이브러리는 베스트 친구가 될 것이다. NumPy와 SciPy는 파이썬의 수학적인 함수와 능력을 확장해주고 작업들을 엄청나게 가속할 수 있다.

BeautifulSoup

BeautifulSoup은 정말 아름답다. 정보를 얻기위해 HTML 페이지를 긁어야 할 필요가 있다면 가져오는 것이 매우 좌절스럽고 머리를 쥐어뜯는 것이라는 잘 알게 될 것이다. BeautifulSoup이 모든 것을 하고 수명 몇 년을 벌어줄 것이다. 강추한다.

Python Imaging Library

Python Imaging Library (PIL)는 이미지를 다루는 모든 일에 훌륭하다.

Django

웹 개발이 목표라면 장고 프레임워크를 사용하게 될 것이다. 가장 널리 알려진 웹 프레임워크이며 학습 리소스도 가장 많다.

임무 8: 오픈소스 프로젝트에 관여하라

언어를 파악하고나면 다른 사람의 코드를 읽고 이해하는 것이 언제나 중요한 스킬이다 - 말할 것도 없이, 배우는 훌륭한 방법이기도 하다. 오픈소스 프로젝트들이 좋다. 다른 사람이 여러분의 코드를 판단하는 것을 걱정하지마라. 당장 공헌해야할 필요도 없다. 개선할 무언가를 봤다면, 훌륭하다! 개선사항을 제출하라. 오픈소스의 존재 이유이다.

 

 

출처 - https://farm2.staticflickr.com 

'언어' 카테고리의 다른 글

파이썬 초보가 따라하고 개념잡기 쉬운 ( A Byte of Python - Swaroop )  (0) 2016.08.31
Python 설치하기  (0) 2016.08.31
Python 시작하기  (0) 2016.08.31
블로그 이미지

Diano.

http://www.diano.kr / 이사하는중 /

,