<본 강좌는 Mike Hibbert에 의해 제작되었으며, 제가 정리한 내용이 도움이 된다고 생각되시면 반드시 유투브 페이지에 방문하셔서 추천과 구독을 눌러주세요>

Tutorial4에서는 views.py와 urls.py를 이전 Tutorial에서 정해져 있는 위치가 아니라 각각의 기능에 맞춰 분리하여 별도로 관리하는 방법에 대해서 설명을 한다.

django 프로젝트를 만들면 urls.py는 기본적으로 프로젝트명과 동일한 하위 폴더에 생성이 된다.

 그러나, 이번 Tutorial4에서는 프로젝트 내 생성된 App인 article 내부에 urls.py를 만들고 활용하게 된다.

 

 

 

이렇게 만들었을 때 관건은 결국 django_test/urls.py로 들어온 요청을 어떻게 article/urls.py로 연결하는것인데 생각보단 간단하다.

django_test/urls.py 파일에 r'^articles/'(articles로 들어온 모든 요청을) include('article.urls')(article.urls에서 찾아) 을 추가하면 된다.

from django.conf.urls import patterns, include, url

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'django_test.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),

    (r'^articles/', include('article.urls')),
   
    url(r'^admin/', include(admin.site.urls)),
    url(r'^hello/$', 'article.views.hello'),
    url(r'^hello_template/$', 'article.views.hello_template'),
    url(r'^hello_template_simple/$', 'article.views.hello_template_simple'),
   
   
)

이렇게 작성해 놓으면 http://127.0.0.1:8888/articles/ 로 접속했을 때, article/urls.py로 이동해서 path를 찾게 된다.

따라서 아래와 같이 article/urls.py에 아래와 같이 작성하면 http://127.0.0.1:8888/articles/all 이라고 할 경우 article/views.py에서 articles라는 함수를 찾게 된다.

 

from django.conf.urls import patterns, include, url

urlpatterns = patterns ('',

        url(r'^all/$', 'article.views.articles'),
        url(r'^get/(?P<article_id>\d+)/$', 'article.views.article'),                       
                       
)      

 

그럼 위에서 연결시킨 것과 같이 article/views.py에 articles 함수와 articles 함수를 추가해보도록 하자.

tutorial 예제에서는 전 장에서 설명한 것과 같이 render_to_response를 통해서 간단한 함수를 제시하였다.

 


from django.template.loader import get_template
from django.template import Context
from django.shortcuts import render_to_response
from article.models import Article


# Create your views here.

def hello(request):
    name = "mike"
    html = "<html><body> Hi %s, this seems to have worked</body></html>" % name
    return HttpResponse(html)

def hello_template(request):
    name = 'mike'
    t = get_template('hello.html')
    html = t.render(Context({'name':name}))
    return HttpResponse(html)

def hello_template_simple(request):
    name = 'mike'
    return render_to_response('hello.html', {'name':name})


def articles(request):
    return render_to_response('articles.html', {'articles':Article.objects.all()})

def article(request, article_id=1):
    return render_to_response('article.html', {'article':Article.objects.get(id=article_id)})

articles 함수에서는 articles.html 파일에 db의 Article Table에 저장되어 있는 모든 내용을 호출하는 기능을 넣었고,

article 함수에서는 article.html 파일에 db의 Article Table에 저장되어 있는 모든 내용 중 id가 article_id와 동일한 데이터를 호출하는 기능을 추가하였다.

이미 알고 있겠지만 Article.objects.all()은 models.py에 class로 정의되어 만들어진 Article Table에 저장되어 있는 모든(all() 데이터를 호출한다는 의미이며, Article.objects.get(id=article_id)는 동일하지만, 모든(all()) 데이터가 아니라 id가 article_id와 동일한 데이터(get(id=article_id)만 호출한다는 의미이다.

 

article.html은 다음과 같이 작성하고,

<html>
 
 <body>
  
  <h1> {{article.title}}</h1>
  <p>{{article.body}}</p>
 
  
 </body>
 
</html>

 

articles.html은 다음과 같이 작성하자.

<html>
 <body>
  
  <h1>Articles</h1>
  {% for article in articles %}
  <div>
   
   <h2><a href="/articles/get/{{article.id}}/">{{article.title}}</a></h2>
   <p>{{article.body}}</p>
   
   
  </div>
  {% endfor %}
 </body>
 
</html>

article.html에 있는 내용은 특별히 설명이 필요 없을 듯 하나, articles.html에는 기존에 없었던 django템플릿 언어가 일부 들어가 있다.

python을 이미 익힌 사람들은 알겠지만 python과 유사하게 django 템플릿에서도 for문을 사용할 수 있는데 다음과 같다.

  • {% for article in articles %} : articles(Articles.objects.all())에 포함되어 있는 내용들을 하나 하나 article이란 이름으로 호출할 것이다.
  • {{ article.title }}: 호출되고 있는  article의 title 콜롬의 데이터를 가져온다.
  • {% endfor %}: for문을 종료 한다.

위 내용은 기존의 python문법과 유사하기 때문에 크게 어려움은 없을 것이라 생각 된다.

모든 작성을 마치고 http://127.0.0.1:8888/articles/all/ 에 접속하면 다음과 같은 화면이 뜰 것이다.

만약 Tutorial을 처음부터 차근차근 해온 사람이라면 Tutorial2에서 models.py에서 Table을 만들고 데이터를 넣는 작업을 했기 때문에 아래와 같이 출력되는 데이터들이 있을 것이나, 만약 블로그의 내용만 보고 따라온 사람들은 아무런 데이터도 나오지 않을 것이다.

이 경우에는 앞에 Tutorial2의 동영상을 참고 부탁 한다.(17분 30초 이후부터 보면 데이터를 cmd창에서 Shell화면을 호출하여 입력하는 강의가 나온다.) 사실 admin에 들어가서 데이터를 직접 입력하는게 더 간단하지만 다음 Tutorial이라 그 장에서 설명하려 한다.

 

 

 

 


 

 

 

<본 강좌는 Mike Hibbert에 의해 제작되었으며, 제가 정리한 내용이 도움이 된다고 생각되시면 반드시 유투브 페이지에 방문하셔서 추천과 구독을 눌러주세요>

Tutorial 3에서는 Views.py , urls.py, 그리고 간단한 template에 대한 내용에 대해 설명 합니다. 

 

Tutorial2에서 설명했던 것과 같이 django의 핵심 프로스세에서 urls.py 는 브라우저로 받은 request를 views.py로 연결해주고, views.py는 해당 요청에 대해 서버에서 처리할 부분을 처리하는 역할을 담당 합니다.

views.py에서는 아까 봤던 models.py에서와는 조금 다르게 함수로 받아서 처리 합니다. 모양은 대충 def name(request): 와 같습니다.

아래 화면은 urls.py에서 hello라는 요청을 받았을 경우 처리하는 views.py를 코드 입니다.

 

from django.http import HttpResponse

# Create your views here.

def hello(request):
    name = "mike"
    html = "<html><body> Hi %s, this seems to have worked</body></html>" % name
    return HttpResponse(html)

HttpResponse 는 웹브라우저에 해당 내용을 출력하도록 해줍니다.

간단하게 위 내용을 설명하자면 hello라는 request를 받으면 name이란 변수를 mike라고 설정하고, html이란 변수는 html언어로 Hi "name변수 내 내용", this seems to have workd란 내용을 설정한 후 html 변수 내용을 웹브라우저에 출력해 라고 하는 내용 입니다.

위 내용이 동작하기 위해서는 hello라는 request를 받을 수 있도록 urls.py를 손봐줘야 합니다.

 

urls.py를 처음으로 열면 위와 같은 화면이 나옵니다.

여기에 url(r'^hello/$', 'article.views.hello'), 을 아래 화면과 같이 입력 합니다.

 

그리고 server를 작동하게 하기 위해서 다시 cmd창을 켜고 manage.py runeserver 8888을 입력 합니다.

포트 8888로 서버에 접속할 수 있도록 설정한다고 보시면 됩니다.

(참고:아래 화면에 [19/JUL 로 시작하는 두줄은 server를 작동시킨다음 웹브라우져를 통해서 요청을 했다는 log 입니다. )

위와 같이 server를 작동시킨 후 웹브라우져를 통해서 http://127.0.0.1:8888/hello/ 에 접속하면 다음과 같은 화면이 출력 됩니다.

 

그런데, 아까 views.py에서 직접 html 코드를 입력하여 위와 같은 화면이 출력되도록 했습니다.

그러나 복잡한 html 화면을 만들어야 한다고 할 때, 모든 html코드를 모두 views.py에 입력할 수 없습니다. 그래서 위와 같은 역할을 동일하게 수행하기 위해서 template이라는 것을 사용합니다.(이 부분은 동영상에 나온 것과 조금 다르지만 작동하는데는 전혀 문제 없습니다.)

우선 프로젝트 하위의 동일한 이름의 폴더에 template을 넣을 수 있는 templates폴더를 만듭니다.

 

위와 같이 폴더를 만들고 나면 settings.py에 들어가서 templates 폴더 위치를 모두 알 수 있도록 세팅해줘야 합니다.

settings.py로 이동한 후 import os 하단에 ROOT_PATH = os.path.dirname(__file__) 라고 입력합니다. 

 

그리고 settings.py 가장 하단으로 내려가서 다음과 같이 작성하여 templates 폴더의 위치를 지정해 줍니다.

이렇게 하고나면 templates 폴더의 위치는 지정 완료 됩니다.

자 그럼 views.py에서 template을 불러와 봅시다.

Template을 사용하는 방법에는 여러가지가 있지만 우선 이번 Tutorial에서는 get_templateContext를 불러와서 구현 하는 방법을 가장 먼저 설명 합니다. 그 외에 render_to_response/ TemplateView 를 사용하는 방법은 이 글 하단에서 추가적으로 설명할 예정 입니다.

get_template은 템플릿을 가져올 수 있도록 합니다. 사용 방법은 아래에서 볼 수 있는 것과 같이 get_template('html파일이름') 으로 코딩 합니다.

Context는 dict방식으로 변수의 이름과 속성을 지정 할 수 있도록 합니다. Context를 통해 render된 값들은 html템플릿에 반영되어 Django에서 출력한 속성을 html에 반영될 수 있도록 해줍니다. 사용 방법은 아래 보는 것과 같이, compiled_template.render(Context({dict 이름값: dict 속성값}))으로 코딩 합니다.

 

from django.http import HttpResponse
from django.template.loader import get_template
from django.template import Context

# Create your views here.

def hello(request):
    name = "mike"
    html = "<html><body> Hi %s, this seems to have worked</body></html>" % name
    return HttpResponse(html)

def hello_template(request):
    name = 'mike'
    t = get_template('hello.html')
    html = t.render(Context({'name':name}))
    return HttpResponse(html)

 

template을 불러오기 위해서는 hello.html이 필요 합니다.

우선 templates/hello.html로 파일을 하나 만들고 아래와 같이 html 코드를 작성 합니다.

<html>
 
     <body>
  
          hi, {{name}},
          this Template seems to have worked!!!
  
     </body>
 
</html>

위에서 views.py에서 Context에서 언급했던 것과 같이 Context를 통해 정의된 'name':name 값이 {{name}}으로 지정되어 있습니다. 해당 html 파일을 server에서 작동시키면 {{name}}으로 지정된 곳에 django views.py안의 hello_template에 name이란 변수로 정의되어 있는 값이 html파일에 출력되게 됩니다.

hello.html파일까지 작성이 완료되면 urls.py를 수정하여 브라우져를 통해서 hello_template을 request할 수 있도록 url(r'^hello_template/$', 'article.views.hello_template'), 를 지정 합니다.

위 작업들을 모두하고 브라우져를 통해서 http://127.0.0.1:8888/hello_template/ 을 입력하면 다음과 같이 출력 됩니다.

render_to_response 로 template 사용하기

template을 사용하는 보다 더 간단한 방법이 있다. 바로 render_to_response를 사용하는 방법이다.

우선 render_to_response를 사용하기 위해서 다음과 같이 선언을 해줘야 한다.

from django.shortcuts import render_to_response

그럼 어떻게 간단해지는 보기위해 기존의 코드 부터 보면 다음과 같다.

def hello_template(request):
    name = 'mike'
    t = get_template('hello.html')
    html = t.render(Context({'name':name}))
    return HttpResponse(html)

위 코드에서 get_template으로 hello.html을 불러오고, html파일 안에 출력될 내용을 Context를 통해서 render해주는 과정을 거친 후 HttpResponse를 통해서 출력하는 과정을 거쳤다.

그런데, render_to_response는 위 과정을 간단하게 한줄로 줄였다. 방법은 간단하다. render_to_response('html파일이름', {Context가 render해야 하는 내용}) 으로 끝이다. 구체적인 코드는 다음과 같습니다.

def hello_template(request):
    name = 'mike'
    return render_to_response('hello.html', {'name':name})

위 코드를 테스트해보기 위해서 아래 render_to_response의 이름을 hello_template에서 hello_template_simple로 변경하고, urls.py에서 hello_template_simple url을 추가하도록 하자.

 

 

이후 http://127.0.0.1:8888/hello_template_simple/ 으로 접속하면 다음과 같이 기존과 동일한 결과가 나온다.

 

이 외에도 TemplateView를 통해서 구현하는 방법이 Tutorial에 나와 있다.

 

 첫번째 Tutorial로 Django설치에 대한 설명이 나와 있는데 그 부분에 대해서는 매우 쉽게 나와 있기 때문에 넘어가고 두번쨰 Tutorial인 Setting.py and database models에 대한 Tutorial에 대한 내용을 정리하고자 한다.

이클립스에서 pydev를 설치하고 나서 Django 프로젝트를 만들면 다음과 같은 구조가 만들어진다.

MVT구조에 대해서는 별도로 언급하지 않겠다.

이러한 구조 내에서 전체 파일들 간 관계를 settings.py를 통해서 진행한다.

위 동영상 Tutorial에서 진행하는 순서대로 훝어보면 우선 Database 설정에 대해서 설명한다.

Database에 대한 설정은 ENGINE에 어떤 type의 database를 쓸지에 대해 작성을 하는 곳인데, 내장 db인 sqlite3를 쓸 경우 아래와 같이 작성하면된다.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

그 외에도 시간, 언어 등 시시콜콜한 내용에 대한 설명이 들어가 있다.

그 후에 App을 만드는 설명이 나오는데, Tutorial에 나와 있는 것처럼 cmd 창에서 manage.py startapp [app 이름] (ex. manage.py startapp article)을 넣는 것도 되고, 이클립스를 쓸 경우에는 다음과 같이 만들어도 된다.  

 

 위 경로를 실행하고 app의 이름을 입력하면 아래와 같이 폴더와 파일들이 자동으로 생성된다.

만들어진 각각의 파일들이 작동하는 프로세스와 핵심 파일들의 역할만 설명하면 다음과 같다.

 

 

  • django_test/urls.py : 브라우저를 통해서 request된 url들의 요청을 받아서 views.py에 들어있는 class로 넘겨주는 역할을 담당
  • article/views.py  : urls.py를 통해서 넘겨받은 요청을 어떻게 처리해서 보여줄지를 결정하는 역할을 담당.
  • article/ models.py : views.py를 통해서 들어온 요청 중 database를 통해서 처리되어야 할 것들이 있을 경우 models.py를 통해 만들어진 db와 연결하여 처리하도록 한다. 즉 models.py는 database를 만들고, views.py에서 db와 뭔가 할게 생길 경우 중간을 연결하는 역할을 담당한다고 보면 된다.

암튼 여기까지 왔으면 Django를 사용할 준비는 어느정도 되었다.

우선 models.py를 사용하는 방법부터 알아보자. 위에서 말했듯이 models.py에서는 db파일을 만들게 된다.

예제로 나온 파일은 다음과 같다.

 

from django.db import models

# Create your models here.
class Article(models.Model):
    title = models.CharField(max_length=200)
    body = models.TextField()
    pub_date = models.DateTimeField('date published')
    likes = models.IntegerField()

(참괴: https://docs.djangoproject.com/en/1.6/topics/db/models/ )

각각의 class들은 db에서 각각의 table을 담당한다. 따라서 class Article이라고 할 경우 db에는 Article이라는 Table 생성된다.

class안에 각각의 행들은 db안에 만들어진 각 열들의 이름과 속성을 설정하는데, 이름이야 자기맘대로 지으면 되지만, 속성을 설정하는 부분은 아리까리 한 부분이 있다. 그렇기 떄문에 일단 Tutorial에 나와 있는 Refrence를 참조하고 추가적인 공부가 필요한 사람은 다음을 참고 바란다. (https://docs.djangoproject.com/en/1.6/ref/models/fields/#model-field-types)

  • CharField : 크고 작은 문자열 데이터를 받음. 그러나, 큰 size의 문자열 데이터를 받을 경우 TextField를 사용할 것을 권장함.
  • TextField: 큰 size의 문자열 데이터를 받을 경우 사용
  • DateTimeField : 날짜 데이터를 받을 때 사용
  • IntegerField: 정수 데이터를 받는 경우 사용

위와 같이 models.py를 작성하고 cmd 창에 들어가서 manage.py syncdb 를 입력하면 database파일이 만들어진다.

django project에 대한 최고 권한을 설정하는 것을 물어보는데

꼭 설정해 놓도록 한다.

강좌 마지막에 shell 화면을 열고 직접 db와 통신하는 방법을보여주는데, 나중에 views.py 에서 db를 사용하는 방법을 이해하는데 많은 도움이 되므로 반드시 보도록 한다.

 

개발 공부를 시작하면서 가장 난감 했던 것은 어떻게 시작할 것인가?였다.

주변 개발을 하는 친구들에게 물어보면 다들 책을 보면서 하라고 했는데, 막상 한국에서 만들어진 개발서적들의 경우 대부분 처음 개발을 시작하는 사람 관점에서 만들기 보다는 어느 정도 개발에 대한 이해가 있는 사람들을 대상으로 책을 쓰는 것 같다.

솔직하게 말하자면, "하나도 모르겠더라!!"

그런 와중에 여기저기 검색하다가 Codecademy(http://www.codecademy.com)를 만났다.

 

 

처음 가입을 하고 들어가보면 Goal을 선택하라고 나온다.

 

 

현재 시점에서 지원하는 개발 언어는 아래 6가지 언어인데

웹개발을 공부하기 위해서는 아래 6가지 언어만 공부를 해도 충분하지 않나 싶다. 

 

기본적인 구성은 왼쪽 바 부분에서 배워야할 내용에 대한 간단한 설명을 하고 숙제를 주면 Coding을 할 수 있는 부분에 직접 Coding을 하고 Console화면에서 결과를 보고 제대로 했는지 안했는지 확인을 하면 된다.

다음 단계로 넘어가기 위해서는 반드시 숙제를 완료해야 한다. 

개인적으로는 공부를 하면서 굉장히 높은 만족을 얻고 있는데

다른 것보다 좋은 것은 일단 초보자도 굉장히 쉽게 배울 수 있도록 구성을 했으며, 다양한 예제를 직접 고민하고 손으로 쓰게 구성되어 있어 단계를 넘어갈수록 나도모르게 실력이 향상된다는 것을 느낄 수 있었다.

 

지금까지 Python, Javascript 학습을 완료 했는데, 아주 기본적인 부분에 있어서는 충분히 연습을 할 수 있었다.

 

 

참고로 Python의 경우 책으로 먼저 공부를 시작했는데 Codecademy로 공부를 하면서 구매했던 책들은 예제를 수행해보는 보조 교재로 전락해버렸다.ㅋㅋㅋ

그래도 개인적으로 '누구나 쉽게 배우는 파이썬 프로그랭'의 경우 초보자가 배우기 굉장히 좋게 구성되어 있었으며, '빠르게 활용하는 파이썬 3.2 프로그래밍'의 경우 python의 다양한 활용 범위와 사용방법 그리고 예제를 보기에 적절했던 것 같다. .

누구나 쉽게 배우는 파이썬 프로그래밍
국내도서
저자 : 제이슨 R. 브리그스 / 이상훈,황반석역
출판 : 비제이퍼블릭 2013.08.09
상세보기

 

빠르게 활용하는 파이썬 3.2 프로그래밍
국내도서
저자 : 신호철,우상정,최동진
출판 : 위키북스 2012.04.12
상세보기

 

그리고 Codecademy에서 학습을 끝낸 사람은 실제 개발경험을 쌓아주기 위해 API 활용법이나 웹개발 예제 등을 추가적으로 지원하고 있는데, 이 부분은 아직까지는 훌륭하진 않은 것 같다.

암튼 결론적으로는 개발 학습을 위해서 굉장히 좋은 서비스가 존재한다는 점에서, 예전보다 개발을 시작하기 참 좋은 환경이 되었다는 것이다.

우리 모두 개발을 배웁시다.

 

 

 

 

ABS 함수

절대값을 출력하는 함수. 즉 양수든 음수든 모두 양수로만 출력하는 함수


BOOL함수

True와 False를 출력하는 함수. 블리언(Boolean)의 약자
0은 False를 출력, 그 외의 숫자는 True를 출력 함



문자열의 경우 None은 False, 그외 문자열은 True를 출력한다.


값이 없는 리스트, 맵에 대해서 False 출력
값이 있다면 True 출력


EVAL 함수

문자열을 python의 표현식으로 바꿔준다.
예를 들어 사용자가 입력한 문자열을 python이 수행할 수 있는 형태로 바꿔준다는 말이다.
그러나 if 문과 같이 한줄이상 나눠진 표현식은 실행되지 않음


EXEC 함수

eval과 유사한 함수 그러나 eval은 값을 출력하고 한줄짜리만 가능하지만 exel은 그렇지 않다. 



FLOAT 함수

int함수와 같이 문자열을 숫자로 변환한다. 그러나 int함수와 달리 소수점이 있는 문자열도 변화니 가능하다.



INT함수

문자열이나 숫자를 정수로 변환한다. 소수점 이하는 버리게 된다.



LEN함수

문자열의 길이를 출력함
리스트나 튜플에서는 항목들의 갯수를 출력함


리스트에서는 LEN함수가 인덱싱 하는데 유용함



RANGE(함수)

Range 함수는 구간 내의 증가값 혹은 감소값을 출력한다.
구조는 




문자열 

문자열(string)이란 결국 텍스트를 말한다.
python에서 문자열은 ' 텍스트 ' 또는 " 텍스트 " 로 만든다. 


문자열에 한줄 이상을 쓰려면 '''  텍스트  ''' 를 쓰면 된다.(쌍따옴표 셋)


문자열 중간에 따옴표가 들어가는 경우 에러가 발생하는데 이 경우에는 \(역슬러쉬)를 사용하면 된다.
쌍따옴표도 마찬가지로 적용된다.


'I am ____' 과 같이 문자열에 변수를 넣을 경우에는 %s 를 통해서 넣으면 된다.
%s를 쓰는 경우에는 우선 공란(____)으로 되어 있는 곳에 %s를 넣는다.(ex. 'I am %s')
그리고 출력 할 때 print('I am %s' % 'boy')와 같이 쓴다. 다시 말해 print(['변수가 들어간 문자열'] [%] [문자열에 넣을 변수])와 같은 구조를 가진다.


문자열을 곱하기 할 경우에는 문자열이 곱한만큼 반복되고 문자열을 더하기 한 경우에는 문자열과 문자열이 합쳐진다.



리스트

리스트를 만들 때는 [ ] 기호를 사용한다. 
다음은 내가 좋아하는 게임 리스트를 만든 것이다.


문자열과 다를게 없지만 리스트를 쓰는 이유는 리스트 안에 들어가 있는 항목을 불러오거나 수정하거나, 추가하거나 할 수 있다.
특정 항목을 불러온다면 print(my_favorite_games[원하는 리스트 번호])로 부를 수 있다.
만약 여러 항목을 불러오려면 번호 대신 : 를 쓰는데 1번 항목부터 4번 항목까지 부르려면 0:3 와 같은 방식으로 부를 수 있다.



리스트에 항목을 추가하기 위해서는 append라는 함수를 사용한다.
현재 만들어진 리스트에 Diablo라는 항목을 추가하기 위해서는 my_favorite_games.append('Diablo')라고 하면 된다.
리스트를 출력해보면 마지막에 Diablo가 추가된 것을 확인할 수 있다.


리스트에 항목을 삭제하기 위해서는 del 명령어를 사용하면 된다.
방금 추가한 Diablo를 삭제하기 위해서는 del my_favorite_games[4]라고 하면 된다.



튜플

튜플은 [] 기호가 아닌 () 괄호를 사용한 리스트이다.
튜플은 리스트를 한번 정의하면 변경할 수 없는 특징이 있다.




맵은 키(key)와 값(value)를 정의하는 방법이다. 
데이터 테이블을 쉽게 사용하기 위하여 값들에 key를 부여하여 데이터 핸들링을 쉽게 하는 방법이다.
예를 들어 내가 좋아하는 게임 리스트를 맵으로 만들면 나중에 각 값을 불러낼 때 리스트에서 직접 텍스트를 불러내는 것이 아니라 key값을 불러내면 value가 출력된다. 

key value
1 sam11
2 AION
3 LOL
4 B&S
5 Diablo


맵을 만드는 방법은 {} 기호를 사용한다.
내가 좋아하는 게임리스트를 맵으로 구현한다면 my_favorite_games = { key1 : value1, key2 : value2 } 과 같은 방법으로 한다.
맵이 만들어지면 value를 호출하기 위해 key 값을 불러내면 된다.


리스트와 마찬가지로 맵에서도 값을 삭제하고 변경 할 수 있는데
리스트와 다른점은 key를 활용한다는 점이다.

삭제를 할 때는 del 명령어를 사용하고 
변경을 할 때는 key를 이용하여 다시 한번 정의하면 된다.








계산

python 연산자는 다음과 같다.

기호 연산자
+ 덧셈
- 뺄셈
* 곱셉
/ 나눗셈


python의 계산은 상당히 간단하다. 계산기를 쓰는 것 같다고 보면 된다.
그냥 숫자를 입력하고 연산자를 쓰고 엔터를 누르면 결과값이 나온다.
곱하기와 나누기가 있을 경우 덧셈과 뺄셈보다 우선하여 계산을 하는 것도 같다.
괄호를 할 경우 괄호가 가장 우선이 된다.


변수

변수의 정의는 등호를 사용한다. 
예를 들어 'jason이란 변수는 500이다' 라고 정의 한다면 다음과 같다.
제대로 정의가 되었는지 확인하기 위하여 print 를 사용하면 됨.


등호를 통해서 변수와 다른 변수가 같다는 것을 정의 할 수도 있다.
tiger란 변수를 jason과 같다고 하면 tiger를 print 했을 때 jason과 동일한 값이 출력된다.



python을 배우기 위해 우선 python을 깔아야 한다.

다운로드를 위해서는 다음 주소 https://www.python.org/에 가서 다운로드에 가면 받을 수 있다.  

설치는 간단하다.

그냥 다음다음다음....하면 설치된다.

모든 설치를 마치고 IDLE를 실행하면 다음과 같은 화면이 나온다.

 

그리고 이제 여기에 다음과 같이 작성하면 모든 개발의 시작인 Hello World가 나타난다.

print('Hello World')

 

이제부터 시작이다!!!

 

+ Recent posts