-
[WebPage] 3. 서버 프로그래밍을 위한 Python과 Django - 웹 페이지 제작 강좌Web/WebPage 2015. 6. 21. 14:11
3.1 Server와 Python
3.1.1 서버란 무엇인가?
앞에서 우리는 HTML, CSS를 이용하여 멋진 홈페이지를 만드는 법에 대해서 배웠습니다. 하지만 게시판이나 트위터, 페이스북처럼 여러 사람들과 같이 실시간으로 데이터를 공유하고 어딘가에 정보가 저장되어 있어야 하는 경우에는 그 동안 배운 내용으로는 만들 수가 없습니다. 왜냐하면 HTML과 CSS는 서버가 아닌 사용자의 컴퓨터에 저장되고 실행되기 때문이죠. 이는 Javascript도 마찬가지입니다. 사용자의 컴퓨터가 아니라 인터넷을 통해 연결되어 있는 서비스를 제공하는 컴퓨터에서 실행되고 그 결과를 사용자에게 넘겨주는 프로그램을 서버 프로그램이라고 합니다. 이러한 웹 서버 프로그래밍을 위해 널리 쓰는 웹 프로그래밍 언어로는 java/jsp, net/asp, php, ruby, python 등이 있습니다. 이러한 언어를 이용하면 웹 서버에서 홈페이지에 나타낼 데이터를 만들어 내거나 html 페이지를 동적으로 만들어 낼 수 있습니다.
3.1.2 파이썬(Python)
웹 프로그래밍을 할 수 있는 많은 언어가 있겠지만 우리는 Python 이라는 언어와 Django라는 프레임워크를 통해 웹 서버 개발을 할 것입니다. Python은 Guido van rossom이 만든 언어로 간단한 문법과 쉬운 사용법, 다양한 라이브러리 등으로 많은 사랑을 받고 있습니다. 지금은 웹 프로그래밍을 하고 있지만 파이썬은 웹 프로그래밍 전용 언어가 아닌 다양한 목적으로 사용 할 수 있는 유용하고 강력한 프로그래밍 언어입니다. 파이썬을 이용하면 웹 서버 뿐 만 아니라 간단한 작업을 자동화 할 수 있는 스크립트 개발이나 데스크탑용 GUI 프로그램을 개발 할 수도 있습니다. 파이썬이라는 언어 하나로도 수많은 책이 있을 정도로 방대하고 다양한 주제와 사용법이 있습니다.
3.2 강력한 프로그래밍 언어, Python
3.2.1 파이썬 맛보기
파이썬을 본격적으로 알아보기에 앞서 파이썬을 실행 해 보고 파이썬으로 만든 프로그램을 실행시키는 방법을 알아보도록 하겠습니다.1) 파이썬 실행- 설치시 자동으로 Path를 조정하게 설치하였으므로, 윈도우 + R을 눌러서 실행 창을 띄운다음, python이라 입력한 뒤 엔터를 칩니다.2) 프로그램 작성- 아래 코드를 직접 인터프리터에 입력합니다.* 파이썬 작성시 주의점은 들여쓰기(indentation) 입니다! C 기반 언어들과는 다르게 대괄호를 쓰지 않고 들여쓰기로 구분한다는 점입니다!123456for k in range(10):if k % 2 == 0:print "%d: hello" % kelse:print "%d: %s" % (k , "world")print "-"*10cs 3.2.2 파이썬의 필수 문법과 사용법
1. 변수와 자료형1) 변수: 파이썬도 다른 언어와 마찬가지로 데이터의 타입과 그 데이터를 담는 변수가 있습니다. 파이썬은 C나 Java와는 다르게 변수의 타입을 명시적으로 선언해 줄 필요가 없습니다. a = 123이라고 하면 a는 정수형 자료형이 들어가고, b = "123"이라 치면 b는 문자열 자료형이 들어갑니다.- 아래 예제를 통해 직접 확인해 보도록 하겠습니다.2) 숫자 자료형: 파이썬에는 총 4가지 숫자 자료형이 있습니다. int , long, float, complex 입니다.- int값을 넘어가면 long 형으로 넘어갑니다(L을 붙여도 long 형)- complex는 복소수입니다.3) 문자열: 파이썬에서 문자열은 글씨들의 집합을 의미합니다. 문자열 자료형은 "" 혹은 ''으로 감싸져 있는 문자열로써 나타낼 수 있습니다.- 문자열을 합치고 싶으면 아래와 같이 + 연산자로 합칠 수 있습니다.
1"hello" + "world"cs - 문자열의 길이를 알고 싶으면 len 함수를 이용하시면 됩니다.
12len("hello")5cs 4) 리스트와 튜플- 리스트는 '[' 와 ']'로 감싸서 나타낼 수 있습니다. 아래 예제로 여러 가지 리스트 형태를 보도록 하겠습니다.- 리스트의 요소에 접근하기 위해서는 []를 사용하면 됩니다.- 접근 예제를 살펴보도록 하겠습니다.- 튜플은 리스트와 비슷하지만, 수정이 불가능하단 점과 ()로 요소를 감싸서 사용합니다.5) 사전 (Dictionary)- 사전은 파이썬에서 제공하는 매우 강력한 자료 구조입니다.- "키"와 "값" 쌍으로 이루어져서 키 값을 통해 값을 찾는 방식입니다.- 사전에 똑같은 단어의 뜻이 다르게 들어 갈 수 없듯이 사전도 중복된 키를 갖지 못합니다.- 사전은 바로 값을 기억 할 때 순서를 갖지 않습니다.6) 불리언 타입과 None- 마지막으로 살펴볼 자료형은 True, False, None 입니다.- True와 False를 보통 boolean 값이라고 합니다. 어떤 값이 맞는지 틀린지 판단해주는 값입니다.- None은 없다는 것을 나타내는 자료형입니다. 다른 언어의 null에 해당하는 자료형입니다.2. 연산자1) 대입연산- 대입문은 어떤 변수에 값을 대입한다는 의미입니다.- a = b의 형태를 띄며 a에 b를 대입하게 하라는 의미입니다.- 어떤 값을 대입 할 수도 있고 다른 변수에 있는 값을 대입 할 수도 있습니다.2) 수치연산- 수치연산은 덧셈 뺄셈 곱셉 나눗셈 등의 사칙 연산 등을 의미합니다.+
덧셈
-
뺄셈
*
곱셉
**
거듭제곱
/
나눗셈
%
나머지
파이썬 수치연산자
3) 비교연산- 비교연산은 두 개의 값을 비교 할 경우에 사용됩니다.- 비교연산의 결과는 True 혹은 False 입니다.3. 조건문파이썬에서 조건문은 일반적으로 아래 코드와 같은 양식을 사용합니다.if 조건1:
조건1이 참일 때 실행될 문장(들)
elif 조건2:
조건1이 참이 아니고 조건2가 참일 때 실행될 문장(들)
else:
앞의 조건이 참이 아닐 경우 실행될 문장(들)
파이썬의 조건문 양식
4. 반복문1) while- 아래는 0 부터 9까지 출력하는 반복적인 작업을 while문을 통해 구현한 코드입니다.2) range- range 함수는 리스트를 만들어 주는 함수입니다.- 0~999까지의 숫자가 들어간 리스트가 필요하다면 range 함수가 제격입니다.3) for5. 파이썬 함수 정의하기1) 파이썬 함수 정의def <함수명> ( <인수리스트> ):
["""함수설명"""]
<파이썬 구문들>
파이썬 함수 작성 형식
- 함수 선언은 초기 def 라는 키워드를 앞에 두고 시작합니다.- 다음으로 <함수명>이 오는데, 앞으로 접근할 때 쓰이는 접근 키워드라 생각하시면 됩니다.- () 안의 <인수리스트>는 비어있거나 하나 이상의 쉼표로 나눠진 변수 명들을 넣을 수 있습니다.- 함수 본문의 시작은 들여쓰기(Indentation)으로 시작하여 함수설명을 """ """ 형식으로 입력가능합니다.- 다음으로 본문에 함수가 호출되었을 때 실행될 구문들을 작성해 나갑니다.6. 파이썬 클래스 정의하기1) 클래스란?- 파이썬 클래스는 객체가 가지는 함수와 속성을 정의하는 객체를 생성하기 위해 필요한 '설명서'로 사용자가 임의의 객체를 사용하기 위해 작성해야 하는 코드입니다.2) 클래스 정의- 가장 간단한 클래스 정의는 다음과 같이 이루어집니다.class <클래스명>:
["""클래스 설명"""]
<파이썬 클래스 구문들>
파이썬 함수 작성 형식
1. 클래스 명- 클래스명은 함수와 마찬가지로 영대소문자, 숫자, 밑줄로 이루어집니다.- 권장하는 클래스 명 표기법은 카멜케이스(CamelCase)로 클래스명의 첫 문자와 단어의 구분마다 대문자를 사용합니다.권장 클래스명:
MyClass, Car, MonthOfYear, OliveOil, CapitalLetterForEveryWords
권장 클래스 명
2. 파이썬 클래스 구문들- 파이썬 클래스 구문은 속성선언과 함수선언으로 구분됩니다.- 속성선언과 함수선언 모두 기본 파이썬 문법을 따르지만 클래스의 속성과 함수는 클래스 네임스페이스에 종속되어 유효영역과 선언된 클래스 내부로 제한됩니다.3. 파이썬 클래스 예제- 스케줄 관리 예제를 만들어 파이썬 클래스에 대해 자세히 알아보도록 합시다.- Schedule 클래스를 정의합니다.- 스케줄 객체를 사용한 예제를 살펴보도록 하겠습니다.3) 객체지향과 상속- 객체지향은 코드의 재사용을 위해 상속을 사용합니다.- 상속이란 이미 만들어진 클래스의 속성과 함수를 재사용하거나 이전에 존재하는 클래스를 바탕으로 새로운 하위 클래스를 만들 수 있는 것을 말합니다.class <상위 클래스 이름>:
<파이썬 클래스 구문들>
class <하위 클래스 이름> ( <상위 클래스 이름> ):
<파이썬 클래스 구문들>
파이썬 상속
* 본 포스팅은 이재근 등 4명 저 "Fast Web Service Build up: 웹 서비스를 쉽고 빠르게 구축하는 기술" 저서를 참고하여 작성하였습니다'Web > WebPage' 카테고리의 다른 글
[WebPage] 4. 웹 프로그래밍의 필수요소, JavaScript와 jQuery - 웹 페이지 제작 강좌 (1) 2015.07.07 [WebPage] 3-3. 장고 프로젝트 시작 - 웹 페이지 제작 강좌 (0) 2015.06.26 [WebPage] 3-3. 서버개발을 빠르게, 웹 프레임워크 Django (0) 2015.06.26 [WebPage] 2. 실전 예제 - 개인용 포트폴리오 페이지 만들기 - 웹 페이지 제작 강좌 (0) 2015.06.20 [WebPage] 2-3. Bootstrap, 쉽고 빠른 웹 프레임워크 - 웹 페이지 제작 강좌 (0) 2015.06.20 [WebPage] 2-3. Bootstrap, 쉽고 빠른 웹 프레임워크 - 웹 페이지 제작 강좌 (0) 2015.06.17