대화식 셀에서는 유효한 문장 또는 일련의 문장들을 입력하고 그 결과를 바로 확인할 수 있습니다. 파이썬을 대화식 모드로 사용하고 있을 때 특수한 변수인 _는 최종 연산 결과를 담습니다.
파이썬은 프로그램이 실행되는 도중 변수 이름에 묶여 있는 값 또는 타입이 변할 수 있는 동적 타입 언어입니다. 대입 연산자는 변수 이름과 값을 연결하기만 합니다.
In [10]:
price = 1000
rate = 0.05
num_years = 5
In [6]:
type(rate)
Out[6]:
In [7]:
type(price)
Out[7]:
In [8]:
price = price * (1+rate)
price
Out[8]:
In [9]:
type(price)
Out[9]:
들여쓰기는 함수 몸체, 조건문 루프, 클래스 등 다양한 코드 블록을 나타냅니다. 들여쓰기로 탭을 사용할 수 있지만 권장하지 않습니다. 스페이스를 사용하는 것이 파이썬 프로그램 커뮤니티에서 보편적으로 선호되는(그리고 권장되는) 방식입니다. 또한 보통 4칸을 권장합니다. 말 그대로 의무가 아니라 권장이기 때문에 일관성만 지키면 2칸이든 1칸이든 4칸이든 상관은 없습니다. 하지만 파이썬 개발자가 4칸을 안지킨다면 초보 취급 당한다지요..?!
이런 코딩 스타일을 파이썬은 문서화해 놓고 있습니다. Coding Convention이라고도 부르는 것을 파이썬에서는 Python Enhancement Proposals(PEP)라고 부릅니다. 들여쓰기에 대한 것은 https://www.python.org/dev/peps/pep-0008/#indentation 이것에 가시면 확인할 수 있습니다.
In [11]:
a = True
if a:
print("True")
print("asasdf")
else:
print("False")
코드 블록의 시작은 콜론(:)으로 합니다. 문맥 상 들여쓰기를 기준으로 들여쓰기가 없는 곳이 코드 블록의 끝이 됩니다.
In [12]:
a = True
if a:
print("True")
else:
print("False")
위의 코드를 다시 한 번 보도록 하겠습니다. 매우 간단하지요!? 그리고 코드 블록은 if에서 시작이 됩니다. 참일 경우에는 첫 번째 블록을 실행하고 거짓을 경우에는 else 다음 블록을 실행하게 됩니다. 다른 언어를 해보신 분들에겐 코드 블록이 없고 콜론으로 시작하는 이런 문법 형태를 매우 곤혹스러워 합니다. 하지만 계속 하시다보면 굉장히 매력 포인트로 느껴지실 겁니다.
// Javascript
var a=true;
if (a==true) {
alert("True");
...
}
주석은 개발할 때 매우 중요합니다. 개발자의 의도를 도무지 모를 때 한 줄기 주석이 큰 힘이 되어줍니다.
#'''"""파이썬은 순서를 가지는 개첵에서 처음을 0으로 시작합니다.
In [12]:
# List
lst = [1, 2, 3]
lst[0]
Out[12]:
위와 같은 구조를 가지고 있습니다. IPython 이라는 패키지를 pip을 통해서 설치를 했다면 IPython 디렉토리 안에 있는 display라는 파일안의 Image라는 클래스를 사용하겠다고 선언하는 방법은 아래와 같습니다.
from IPython.display import Image
파이썬에서는 클래스를 만들 때 통상 CapWords를 따릅니다. 즉 단어의 시작하는 첫 글자를 대문자로 해서 이름을 붙입니다. 그러나 의무가 아닙니다. 권장 사항이므로 소문자로 시작해도 실행은 아주 잘~ 됩니다. 다만 다른 개발자들이 볼 때 이 아이 초보자이네~ 싶은 생각이 듭니다. 그 보다 더 중요한 것은 이 객체가 클래스인지 아니면 함수인지 한 눈에 알아보기가 어렵다는 것입니다.
In [15]:
class FirstClass():
def __init__(self):
print("This is a class you made first.")
In [16]:
a = FirstClass()
문서의 맨 앞에 아래 내용을 삽입합니다.
In [25]:
# -*- coding: UTF-8 -*-
혹은 아래의 내용을 삽입하는데, 위의 것이나 아래 것 두 개 모두 차이점이 없습니다.
In [26]:
# coding: UTF-8
파이썬 프로그램에서 모든 데이터는 객체(object)라는 개념을 사용하여 저장됩니다. 가장 기본이 되는 데이터 타입인 숫자, 문자열, 리스트, 사전 모두 다 객체입니다. 이 것은 다음 강의 때 더 자세히 살펴보도록 하겠습니다. 이번에는 딱 하나만 기억하시면 됩니다. 객체라는 것에는 행동과 속성이 있다는 것입니다. 마치 옆에 앉아 있는 친구가 인간이라는 것에서 만들어져 행동과 속성을 갖고 있는 것과 마찬가지입니다.
단순히 문자처럼 보이는 a라는 것도 파이썬에서는 객체입니다. 객체 타입이 str인 객체인 것이지요. 한 번 보겠습니다.
In [17]:
type("a")
Out[17]:
In [18]:
type(1)
Out[18]:
숫자 1도 마찬가지입니다. 단순히 숫자처럼 보이지만 이것 또한 행동을 가지고 있는 객체입니다.
In [19]:
dir(1)
Out[19]:
숫자 1에는 여러 행동을 가지고 있습니다. 그 중에는 더하라는 연산 행동도 가지고 있다고 합니다. 한 번 해볼까요!?
In [20]:
1 + 1
Out[20]:
파이썬 내장 함수인 dir()을 통해서 숫자 1이 뒤에 +라는 연산자를 만나면 어떤 행동을 하는지 한 번 찾아보도록 하겠습니다.
In [9]:
dir(1)
Out[9]:
우리는 아직 아무것도 공부한 적이 없습니다. 하지만 위에 조금씩 보였던 파이썬 소스와 아래의 문제를 스스로 탐색해보면서 파이썬이 어떻게 동작하는지 천천히 찾아보도록 합시다. 스스로 찾아봐야 기억에 많이 남습니다.
In [1]:
100 + 100
Out[1]:
In [3]:
_ / 3
Out[3]:
In [5]:
type(_)
Out[5]:
In [9]:
age = 19
In [10]:
if age >= 20:
print("성인")
else:
print("미성년")