ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Python] 파이썬 어휘 규약과 구문
    CSE/Python 2015. 12. 18. 15:39

    어휘 규약과 구문

     1. 줄 구조와 들여쓰기

      프로그램에서 각 문장은 줄바꿈 문자로 끝납니다. 긴 문장은 아래 예처럼 줄이음 문자(\)로 작성할 수 있습니다.


     





      삼중 따옴표로 둘러싸인 문자열, 리스트, 튜플, 사전 정의가 여러 줄에 걸쳐 있는 경우에는 줄이음 문자가 필요 없습니다. 더 일반화해서 말하면, 프로그램에서 괄호(...), 대괄호[...], 중괄호{...}나 삼중 따옴표로 둘러싸인 부분은 시작과 끝이 명확히 구분되므로 줄이음 문자 없이도 여러 줄에 걸쳐 있을 수 있습니다.


      들여쓰기(Indentation)는 함수 몸체, 조건문, 루프, 클래스 등 다양한 코드 블록을 나타냅니다. 한 블록 안에서 첫 번째 문장에 적용되는 들여쓰기에는 제한이 없지만, 블록 전체로 봤을 때는 일관성이 있어야 합니다. 다음은 관련 예를 보여줍니다.



    1
    2
    3
    4
    5
    6
    if a:
        statement1
        statement2
    else:
        statement3
     
    cs




      빈 몸체나 블록은 pass 문으로 나타냅니다.


    1
    2
    3
    4
    5
    if a:
        pass
    else:
        statements
     
    cs





      주로 들여쓰기를 할 시에 탭(Tap)을 사용하지만, 파이썬 프로그램 커뮤니티에서 보편적으로 선호되는 방식은 스페이스를 사용하는 것입니다. 


      한 줄에 둘 이상의 문장을 작성하려면, 문장들을 세미콜론(;)으로 구분하면 됩니다. 불필요하긴 하지만, 한 문장으로 된 줄도 세미콜론으로 끝낼 수도 있습니다.





     2. 식별자와 예약어

      식별자(Identifier)는 변수, 함수, 클래스, 모듈 및 기타 객체를 식별하는데 사용되는 이름입니다. 식별자의 이름은 문자, 숫자, 밑줄(_)을 포함할 수 있지만, 항상 숫자가 아닌 문자로 시작되어야 합니다. 


      식별자는 대소문자를 구별합니다.


      다음은 파이썬의 모든 예약어 목록입니다.






      이름이 밑줄로 시작하거나 끝나는 식별자는 보통 특수한 의미를 지닙니다. 예를 들어, _foo 처럼 단일 밑줄로 시작하는 식별자는 from module import * 문에 의해 임포트되지 않습니다. __init__ 같이 이중 밑줄로 시작하고 끝나는 식별자는 특수한 메서드용으로 예약되어 있으며, __bar처럼 이중 밑줄로 시작하는 식별자는 private 클래스 멤버를 구현하는데 사용됩니다.




     3. 컨테이너

      다음 예에서 볼 수 있듯이, 중괄호, 괄호, 대괄호로 둘러싸인 값들은 각각 리스트, 튜플, 사전에 들어 있는 객체들의 모임을 나타냅니다. 



    1
    2
    3
    4
    = [13.4'hello' ] # List
    = (1020300)  # Tuple
    = {'a'3'b'44 } # Dictionary
     
    cs




      리스트, 튜플, 사전 상수는 줄이음 문자(\) 없이도 여러 줄에 걸쳐 있을 수 있습니다. 또한, 마지막 항목에 콤마를 붙여도 됩니다.


    1
    2
    3
    4
    5
    = [
        1,
        3.4,
        'Hey',
    ]
    cs






     4. 문서화 문자열

      아래 예에서 보듯이 모듈, 클래스, 함수 정의의 첫 번째 문장이 문자열이면, 이 문자열은 연관된 객체의 문서화 문자열이 됩니다.



    1
    2
    3
    4
    def fact(n):
        "This function computes a factorial"
        if (n <= 1): return 1
        elsereturn n * fact(n - 1)
    cs




      문서화 문자열은 코드 브라우저나 문서화 생성 도구에서 흔히 사용됩니다. 문서화 문자열에는 객체의 __doc__ 속성으로 접근할 수 있습니다.







     5. 장식자

      함수, 메서드, 클래스 정의 앞에 특수한 문자가 올 수 있습니다. 장식자(Decorator) 입니다.


      장식자는 바로 따라 나오는 정의의 작동 방식을 변경하는데 쓰입니다. 기호 @로 장식자를 표시하며 장식자는 별개의 줄로서 관련 함수, 메서드, 클래스 바로 앞에 나와야 합니다.




    1
    2
    3
    4
    5
    class Foo(object):
        @staticmethod
        def bar():
            pass
     
    cs







     6. 소스 코드 인코딩

      파이썬의 소스 프로그램은 보통 표준 7비트 ASCII로 작성됩니다. 하지만, 일반적으로 UTF-8 환경에서 작업을 하기 때문에 성가신 점이 됩니다. 


      그래서 파이썬 프로그램의 첫 두 줄에 특수한 인코딩 주석을 입력하면 다른 인코딩으로 파이썬 소스 코드를 작성할 수 있습니다.



    1
    2
    3
    4
    5
    #! /usr/bin/env python
    # -*- coding: UTF-8 -*-
     
    = "UTF-8"
     
    cs




    * 이 강좌는 '파이썬 완벽 가이드' 서적을 참고로 작성했습니다.

    댓글

Designed by Tistory.