2010년 쯤에 파이썬에 대해 궁금함이 생겨서 한번 설치하고 테스트 해봤던적이 있습니다. 그때 3.0 버전에 처음 나왔었던 때 였습니다.
주로 사용하는 언어는 Java 와 PHP 인데, 시간이 날때마다 다른 언어들을 조금씩 공부하는게 취미인지라 실제 업무에 사용을 하지는 않지만 문법만 알고 있는 언어들이 몇 가지 됩니다.
파이썬도 이런 취미로 보게된 언어중 하나입니다. 설치하고 간단한 샘플을 몇가지 실행해보고, 장고(django)와 apache mod_python 으로 간단한 웹 프로그램도 테스트 해보고 했었습니다. 하지만, 결국 취미로 끝나고 업무에 사용해볼 기회는 없었습니다.
2017년 들어 약간 여유가 생기니 또 이것저것 다른 언어들을 기웃거리게 되고, 파이썬이 다시 눈에 들어와서 이번에는 사용하지 않더라도 정리라도 좀 해두어야 겠는데 생각이 들었습니다.
정리하면서 이것저것 찾아보다 보면 업무에 적용할 수 있는 분야도 보이지 않을까 하는 생각입니다.
1. comment(주석)
프로그램에서 comment 는 프로그램 자체에는 영향이 없고, 프로그램에 대한 설명을 달기 위해서 사용되어 집니다. 또한 컴파일러, 인터프리터 또는 Command Shell 에게 프로그램을 처리시 별도로 수행해야 할 메타 정보를 제공하기도 합니다.
파이썬에서 # 으로 시작하는 문장은 한줄 주석 입니다. # 이후 부터 개행문자가 나올 때까지 주석으로 처리 됩니다.
문장에 첫번째 줄에 #!/usr/bin/python 처럼 셔뱅(shebang)을 줄 수 있습니다. 유닉스 OS 상에서 스크립트 파일을 실행할 인터프리터 프로그램을 지정해 주는 것입니다. 유닉스 shell 에 대한 메타 정보가 되겠습니다.
주석을 통해 파일의 엔코딩을 지정할 수 있습니다.현재 사용중이 pytho 3.6 에서는 기본 엔코딩이 UTF-8 입니다.
# -*- coding: utf-8 -*- |
파이썬에서는 여러줄 주석(multiline comment)은 없습니다. 여러줄의 주석을 사용하려면, 매 라인의 앞에 # 을 사용해 주면 됩니다. 가끔 연속되는 세개의 큰따옴표(""") 또는 작은때옴표(''') 를 앞 뒤에서 사용하여 여러줄 주석 처럼 사용하는데, 엄밀히 이것은 다중 문자열을 지정하는 방식이지 주석은 아닙니다. 실제로 인터프리터에 의해 처리되어 지기 때문입니다.
# # 여러줄 주석이 따로 제공되지 않습니다. # 매번 줄의 앞에 # 을 입력하여 여러줄 주석처럼 # 사용하는게 일반적 입니다. # |
2. 문장
파이썬의 문장은 기본적으로 한라인에 한 문장을 작성합니다. 문장의 끝에는 끝은 나타내는 기호로 세미콜론(;) 을 붙일 수 있지만, 붙이지 않아도 됩니다.
num1 = 1 num2 = 1; |
하나의 라인에 여러개의 문장을 작성할 때는 앞의 문장의 끝에 세미콜론을 붙여 구분해야 합니다.
num1 = 1; num2 = 1 |
하나의 문장을 여러줄로 나눠 쓸 수 있습니다. 이 때 라인의 끝에 다음 라인으로 이어진다는 표시로 backslash(\) 를 붙일 수 있지만, 붙이지 않아도 됩니다.
num4 = (num1 + \ num2 + \ num3) |
3. 코드 블럭(code block) 및 들여쓰기(indentation)
코드를 작성할 때 같은 변수 범위(Scope)를 가지는 코드들을 쉽게 알아 볼 수 있도록 코드 블록의 시작과 끝을 표시를하고 들여쓰기를 합니다.
파이썬 코드가 시작되면 코드 블럭이 시작된 것입니다. 동일 블럭은 같은 들여써기를 하여야 합니다. 하위 블럭의 시작은 문장의 끝이 콜론(:) 으로 끝나면 다음 라인부터 하위 블럭입니다. 상위블럭보다 들여쓰기를 합니다. 블럭의 끝은 들여쓰기가 끝나고, 상위블럭과 같은 시작위치에서 코드를 쓰면 블럭이 끝난 것입니다.
if num1 == 1: print(num1) else: print('not one'); |
동일 블럭 내에서 들여쓰기는 모두 동일해야 합니다. 다르게 되면 오류가 발생합니다.
if num2 == 1: print(num2); print(0); <-- 이분분이 오류가 발생합니다. |
들여쓰기를 탭 또는 공백 몇자로 해야 한다는 규칙은 없습니다. 같은 범위의 블럭 내에서 동일하게 들여쓰기를 하기만 하면 문법적으로 문제는 없습니다. 즉, 서로 다른 블럭에서 들여쓰기 깊이가 달라도 된다는 말 입니다.
하지만 그렇게 사용하지는 않을 것입니다. 가독성을 높이기 위해 혼자서 작업을 하던 여러명이서 작업을 하던 일정한 들여쓰기를 하는게 좋을 것입니다.
보통 가장 많이 사용하는 것이 스페이스 4자를 사용하는 것 같습니다. eclipse 와 같은 IDE 에서는 탭을 누르면 실제로는 스페이스가 삽입이 되도록 설정하여 사용합니다.
'프로그래밍 > Python' 카테고리의 다른 글
파이썬 문법 5 - 람다(lambda) 함수 (7) | 2018.04.04 |
---|---|
파이썬 문법 4 - 함수(function) (0) | 2018.04.04 |
Python 문법 3 - Flow Control(흐름 제어) (0) | 2018.04.03 |
Python 문법 2 - 식별자, 데이터 타입, 형변환, 연산자 (0) | 2018.04.03 |
Python 3.6과 PyDev 설치하기 (0) | 2018.04.03 |