기초문법
Django를 사용하기 위해서는 기본적으로 Python 에 대한 이해가 필요합니다. 프로그래밍의 언어의 가장 기본이랄 수 있는 세 가지 문법구조인 변수의사용, 조건문, 반복문과 함께 함수와, 클래스의 사용법을 알아보겠습니다.
가.변수 선언 및 사용
#1. Python 은 변수의 타입이 없다
hong = 111
# 2. 문자변수의 입력은 쌍따옴표 또는 외따옴표를 앞뒤로 사용한다
words = "I am Python"
# 3. 동일한 변수명에 다른타입의 값을 입력할 수 있다.
words = 157 # 문자열 "I am Python" 를 입력했다가 다시 같은 변수에 숫자 157 입력
# 4. 문장의 끝은 줄바꿈으로 처리한다.
var_a = 145
var_b = "Hello"
var_c = "123"
# 5. 기본형에 대한 자동 형변환은 지원하지 않는다
result_char = str(var_a) + var_b # 숫자 var_a 를 문자열로 변경한 후 문자열 var_b와 더해준다.
result_num = var_a + int(var_c) # 문자열 "123" 을 숫자 123 으로 변경
# 6. 결과값 출력
print(result_char) # 결과 : 145Hello
print(result_num) # 결과 : 268
# 7. 문자열 곱하기 (곱한숫자만큼 문자열을 반복해서 더한다음 리턴해준다)
print(var_b * 3) # 결과 : HelloHelloHello
# 8. 거듭제곱
print(var_a ** 3) # 결과 : 3048625 = 145 * 145 * 145
나. 조건문
var_a = 15
# 1.1. 조건문은 if 로 시작하고 조건문 블럭은 : (콜론) 과 함께 다음줄부터 시작합니다.
if var_a > 15 :
# 1.2. 조건문에 해당하는 블럭은 들여쓰기로 작성합니다.
print('var_a 는 15보다 큽니다')
# 2. 새로운 if 문은 들여쓰기를 다시 시작합니다. elif 는 타 언어의 else if 와 같습니다. 블럭은 : 과 함게 다음줄부터 시작합니다.
elif var_a < 15 :
print('var_a는 15보다 작습니다')
# 3. else 구문도 줄끝에 : 을 입력해야 합니다.
else :
print('var_a는 15 입니다')
다.반복문
count = 0
# 1. while [조건식] - 조건식이 만족할 때 까지 반복한다.
# 조건식 = count 가 10보다 작을때 블럭 실행
while count < 10 :
# 1.1. count 를 출력
print("while count=" + str(count))
# 1.2. count 가 0 에서 시작해서 반복할때마다 1씩 증가한다. 10번 반복하고 while문을 빠져나간다.
count = count + 1
# 2. for 개별요소 in 요소들 - 특정 요소들의 범위내에서 개별요소 단위로 반복하고자 할 때 사용한다.
# 2.1. 문자열 선언
chars = "abcdefg"
# 2.2. 문자열 abcdefg 를 한문자씩 반복하면서 문자요소 하나하나를 꺼내서 c 변수에 담는다.
for c in chars :
# 2.3. 문자 한개단위씩 출력
print("for 1 :"+c)
# 3.1. 문자열로 된 리스트(일종의 배열) 선언
array = ["Hello ", "I ", "am ", "Python"]
# 3.2. 4개의 문자열을 가진 리스트를 반복하면서 문자열단위로 char 변수에 담는다
for char in array :
# 3.3. char 문자열 단위로 출력
print("for 2 :"+char)
# 4.1. 3.2와 동일
for chars in array :
# 4.2 char 에 담은 문자열을 문자 하나씩 꺼내서 c 변수에 담는다
for c in chars :
# 4.3 문자 하나씩 출력
print("for 3 :"+c)
라.함수 정의 및 사용
var_a = 145
var_b = 13
# 1. 함수의 선언
def sumNumbers(a,b) : # 2. 블럭의 시작은 : (콜론)
return a + b
# 3. 블럭의 구분은 들여쓰기
# 4. 들여쓰기가 끝나면 새로운 블럭이 시작된다
def multiNumbers(a,b) :
return a * b
def complex(a,b) :
# --- complex 함수 블럭 시작
com_a = sumNumbers(a,b)
com_b = multiNumbers(a,b)
# 5. 함수 내에서 if 문과 같은 새로운 블럭이 필요할 때에도 : 으로 시작하고 들여쓰기를 해야한다.
if com_a > com_b :
return com_a
else :
return com_b
# --- complex 함수 블럭 종료
# 7. 결과 확인
print(sumNumbers(var_a,var_b)) # 결과 : 158
print(multiNumbers(var_a,var_b)) # 결과 : 1885
print(complex(5,7)) # 결과 : 35
print(complex(5,-7)) # 결과 : -2
마.클래스 정의 및 사용
# 1. class 선언
class ClassName():
# 1.2. 멤버변수
member = 0
# 1.3. 멤버함수
# * Python 만의 특징인데 첫번째 인자로 객체자신인 self를 받는다. 따라서 멤버변수는 self.멤버변수의 형태로 사용할 수 있다.
def memberAdd(self, a) :
self.member = self.member + a
# 1.4. 멤버변수를 출력하는 함수
def memberPrint(self) :
print(self.member)
# 2. class 사용
clazz = ClassName()
# 2.2 멤버함수 사용
# * 멤버함수를 사용할 때 첫번째 인자인 self는 입력하지 않는다.
clazz.memberAdd(5)
clazz.memberAdd(5)
clazz.memberAdd(5)
# 2.3 멤버함수를 통한 출력
clazz.memberPrint()
바.모듈
Python은 다른 파일에 작성된 클래스나 함수에 접근하기 위해서 모듈이라는 개념을 지원합니다. 타 언어의 import 와 유사하게 사용할 수 있습니다. 먼저 아래와 같이 클래스 한개와 함수 한개를 가진 mod.py 파일을 생성합니다.
- mod.py
# 1. class 선언
class ClassName():
member = 0
def memberAdd(self, a) :
self.member = self.member + a
def memberPrint(self) :
print(self.member)
# 2. 함수선언
def justAdd(a,b) :
return a + b
모듈을 사용할 파일에서 import 파일명 (.py 는 제외) 형태로 모듈을 불러서 사용할 수 있습니다.
- main1.py
import mod
clazz = mod.ClassName()
clazz.memberAdd(5)
clazz.memberAdd(5)
clazz.memberPrint()
print(mod.justAdd(3,5))
또 한가지 방법은 from 파일명 import 클래스명(또는 함수명) 형태로 직접 불러서 사용할 수 있습니다.
- main2.py
from mod import ClassName
from mod import justAdd
clazz = ClassName()
clazz.memberAdd(5)
clazz.memberAdd(5)
clazz.memberPrint()
print(justAdd(3,5))