코딩 기록

[파이썬 입문] 구문 - 문법, 주석, 들여쓰기, 인코딩 규칙

Hello world!

Python으로 Hello world!를 출력하는 프로그램 예제 소스는 아래와 같습니다. 파이썬 확장자는 .py (예 : test.py)입니다. (이후 예제는 2.7 기준으로 작성했습니다)


1
print "Hello world!"
cs


그러나 Python3에서 위 문법은 금지되어 아래와 같이 작성합니다.


1
print("Hello world!")
cs


소스 작성이 완료되면, 프로그램을 다음과 같이 실행합니다.


1
python test.py
cs

문법

파이썬은 개행으로 문장을 구분합니다.


1
2
print "Hello"
print "World"
cs


Perl이나 PHP와 같이 세미콜론( ; )으로 구분할 수 있습니다.


1
2
3
4
5
= 5;
= 3;
= a + b
 
print c
cs


문장을 행으로 나누어 설명하려면 줄 끝에 백슬래시(\)를 씁니다.


1
2
3
total = 123 \ 
      + 456 \
      + 789
cs


(...) [...] {...}안의 콤마(,) 뒤에는 백슬래시(\)를 생략할 수 있습니다.


1
2
3
months = [ 'Jan''Feb''Mar''Apr'
           'May''Jun''Jul''Aug'
           'Sep''Oct''Nov''Dec']
cs


주석(#) (코멘트)

해시(#)로 시작하는 줄은 끝까지는 주석으로 간주됩니다. (한 줄 모두, 파이썬 포함 모든 언어 공통점)


1
print "Hello"    # Hello를 표시합니다
cs


그러나 백슬래시로 이어지는 줄에는 코멘트를 작성할 수 없습니다.


1
2
total = 123 \   # 여기에 코멘는 표현할 수 없음
      + 456     # 위에서 설명
cs


쉼표(,)로 이어지는 연속된 줄에는 주석을 삽입할 수 있습니다.


1
2
3
months = [ 'Jan''Feb''Mar''Apr',  # 여기에는 코멘트를 작성
           'May''Jun''Jul''Aug',  # 여기에 댓글을 작성
           'Sep''Oct''Nov''Dec']
cs

들여쓰기

Perl이나 PHP에서 문장을 {...}로 둘러싸면 "블록(복문)을 구성했다"라고 합니다. 다만, Python에서는 들여쓰기(줄 앞의 공백 문자 개수)가 중요한 의미를 가집니다. 같은 수의 공백으로 들여쓰기하면 블록으로 간주합니다.


1
2
3
4
5
6
7
= 3
 
if a == 5 :
    print "AAA"     # if 문 대상
     print "BBB"     # if 문 대상
 
print "CCC" # if 문 대상이 아니다
cs


들여쓰기는 일반적으로 4개의 공백 문자를 사용합니다. 탭 문자는 들여쓰기가 8의 배수가 되므로 1~8개의 공백 문자로 간주합니다. 참고로 파이썬 포함해 각종 언어는 툴에서 탭 들여쓰기를 설정할 수 있습니다.


1
[공백] [공백] [TAB] print "AAA"# 8 문자의 공백으로 간주한다
cs



인코딩 규칙(coding :)

ASCII가 아닌 문자를 포함하는 스크립트를 작성하려면 스크립트의 첫 줄 또는 두 번째 줄에 다음 형식으로 스크립트의 인코딩 규칙( coding : )을 지정하세요. 대소문자는 무시됩니다.


1
2
3
#coding : utf-8
 
print "Hello world"# 문자열이나 댓글에 한글을 사용할 수 있습니다
cs


Emacs와의 호환성을 고려하여 다음과 같이 설명할 수도 있습니다.


1
# - * - coding : utf-8 - * -
cs


인코딩 규칙에는 다음이 포함됩니다.


1
2
3
4
# coding : utf-8
# coding : Shift_JIS
# coding : EUC-JP
# coding : cp932
cs




파이썬 입문 강좌 11강


관련 글

[파이썬 입문] 클래스 사용법 - 4단계로 마스터

[Linux pyenv] 파이썬 아나콘다 설치 관리 방법

파이썬 컴프리헨션 예제 8개for if dict zip map

파이썬 for문(반복 루프) 사용법 12가지

파이썬 정수 최대값 구하기 소스 2개, random 함수

파이썬 2 3 차이 4가지 (python print, int, float, string unicode)


댓글(0)