해당 포스팅은 제가 공부한 내용을 바탕으로 작성됐습니다!
만약 잘못된 내용이 있는 경우 하단의 댓글란에 알려주시면 감사하겠습니다
건전한 비판은 언제나 환영!
파이썬 프로그램을 만들기 위해서는 어떻게 파이썬을 작성해야 하는지 알아야 합니다.
이번 포스팅에서는 파이썬의 문법을 학습하여 어떻게 파이썬을 작성해야 하는지 알아보겠습니다.
파이썬의 문법
인코딩
파이썬은 인코딩 선언을 하지 않아도 기본적으로 UTF-8로 설정되어 있습니다.
만약 인코딩을 바꾸길 원한다면 코드 상단에 다음과 같이 선언합니다.
1 | # -*- coding: {incoding-type} -*- | cs |
위와 같이 주석형태로 인코딩 유형을 명시하면 python parser에 의해 읽혀서 인코딩을 변경할 수 있습니다.
변수선언과 함수 호출
파이썬은 여타 프로그래밍 언어처럼 왼쪽에 값을 할당 받는 변수, 오른쪽에 값을 적어 변수에 값을 할당합니다.
1 2 | a = 10 b = 10 | cs |
위와 같이 a라는 변수와 b라는 변수에 각각 10이라는 값을 지정할 수 있습니다.
즉, a와 b를 빗데어 변수를 정의하면 어떤 값(위 예시에서 10이라는 값)을 담는 그릇이라고 말할 수 있습니다.
위키백과에서는 변수를 다음과 같이 설명하고 있습니다.
컴퓨터 변수의 값은 수학에서처럼 등식이나 공식의 필수적인 부분이 아니다. 컴퓨터 환경에서 변수는 반복적인 과정 안에서 이용할 수도 있다. 이를테면 한 장소의 값을 할당한 뒤 어느 곳에서 사용한 다음 새로운 값으로 다시 할당하고 같은 방법으로 다시 사용할 수도 있다. 컴퓨터 프로그래밍에서의 변수는 긴 이름이 자주 나오며, 어떻게 이용할 것인지에 대한 설명을 나타내는 반면 수학에서의 변수는 짧은 시간 동안 쓰이는 간결한, 한 두 개 문자 이름이다.
※ 변수에 대하여 추후에 깊게 다뤄볼 예정입니다. (왜쓰는지, 변수의 효용성, 특징, 유의점 등)
또한, 함수를 부를 때도 다른 프로그래밍 언어처럼 객체에 함수이름()를 통해 함수에 접근 할 수 있습니다.
예를 들어, 이전에 Hello World!를 출력할 때 사용했던 print()도 함수의 한 예가 되는 것입니다.
1 | print("Hello World!") | cs |
다만, 파이썬이 다른 프로그래밍 언어와 차이가 있는 점은 바로 "들여쓰기"입니다.
추후 조건문, 반복문, 함수 등 코드 블록을 사용해야 할 경우 들여쓰기는 반드시 유의하여 사용해야합니다.
현재는 가볍게 이런게 있다 정도로 알아보고 해당 주제 포스팅때 좀 더 상세히 알아보겠습니다
다른 언어에서 들여쓰기는 대부분 가독성을 주기 위해 사용한다.
ex) Java에서는...
1 2 3 4 5 | if ( 1 == 1 ) { System.out.print("true"); } | cs |
1 2 3 | if ( 1 == 1 ) { System.out.print("true"); } | cs |
// 위 두 문장은 동일한 결과를 가져다 줍니다.
위와 같이 들여쓰기는 가독성을 주기 위해서 사용하는 경우가 많습니다.
다만 파이썬의 들여쓰기는 다릅니다. 위에서 예로 든 Java의 경우는 중괄호 { }를 통해 블록을 형성해주었지만 파이썬은 들여쓰기를 통해 블록을 구분하기 때문입니다.
ex) 파이썬에서는...
1 2 3 | if 1 == 1 : print("true") | cs |
1 2 3 | if 1 == 1 : print("true") | cs |
파이썬에서는 들여쓰기를 통해 블록을 구분한다고 했습니다. 위 예시를 보면 print 함수 옆에 들여쓰기가 되어있으므로 하나의 if문이 되지만, 아래 if문은 print 함수에 들여쓰기가 없으므로 오류를 부르게 됩니다.
실제 들여쓰기를 하지 않아 나타난 오류
따라서, 다른 프로그래밍 언어와는 달리 파이썬에서는 들여쓰기가 문법적으로도 중요한 역할을 하는 것을 인지하고 있어야 합니다.
그 외 변수, 함수, 자료형, 객체 등의 주제는 추후 포스팅을 통해 다룰 예정입니다.
파이썬의 주석
프로그램을 작성하면서 오류 없는 프로그램을 작성하는 것도 중요하지만, 다른 개발자가 쉽게 알아볼 수 있는 코드(가독성 좋은 코드)를 작성하는 것도 매우 중요합니다.
가독성 있는 코드를 작성하는 방법에는 여러가지가 있다. 그 방법 중 하나가 주석으로 부연 설명을 해주는 것입니다.
파이썬에서는 한 줄 주석과 여러 줄 주석을 쓸 수 있습니다.
한 줄 짜리 주석을 사용하기 위해서는 #을 이용합니다.
위 그림을 보면 # 옆에 적힌 글자는 파이썬 인터프리터(파이썬 코드 해석기)가 무시하는 것을 알 수 있습니다.
위 그림처럼 #을 빼고 그대로 적을 경우에는
파이썬 인터프리터가 해당 글귀를 해석하지 못하여 문법 에러를 나타내줍니다.
따라서 파이썬에서 주석을 달 때는 #을 이용하여 주석을 달아줍니다.
마찬가지로 """주석내용""" 또는 '''주석내용'''을 통해서도 주석을 달 수 있습니다.
위 방식을 docstring이라고 부릅니다.
위 그림과 같이 여러 줄의 주석을 달 경우에는 """ """ 이나 ''' '''을 이용하면 됩니다.
위의 경우도 # 과 마찬가지로 파이썬 인터프리터가 """ """ 안에 담긴 글귀를 무시하므로 문법 오류 없이 Hello World!가 출력된다.
docstring은 보통 함수/클래스 선언 다음에 해당 함수/클래스의 설명을 위해 활용합니다.
1 2 3 4 5 6 7 8 9 10 11 12 | def print(self, *args, sep=' ', end='\n', file=None): # known special case of print """ print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints the values to a stream, or to sys.stdout by default. Optional keyword arguments: file: a file-like object (stream); defaults to the current sys.stdout. sep: string inserted between values, default a space. end: string appended after the last value, default a newline. flush: whether to forcibly flush the stream. """ pass | cs |
위는 제가 앞에서 계속 사용하고 있는 print 함수를 상세히 들춰봤을때 나타나는 설명입니다.
※ 파이참에서 ctrl + b를 누르면 해당 함수의 선언부로 이동하여 선언 내용을 볼 수 있습니다.
위 설명을 다음과 같이 콘솔에서 볼 수 있습니다.
1 2 3 | print(print.__doc__) # 또는 help(print) | cs |
이렇게 docstring은 __doc__ 이라는 미리 정의된 속성으로 정의됩니다.
코드라인
파이썬은 Java, C 등과는 다르게 세미콜론(;)을 넣지 않습니다.
단, 한줄로 작성할 때는 세미콜론(;)으로 구분하여 작성가능합니다. (추천하지 않는 작성법)
1 | print("hello") print("world") | cs |
위와 같이 세미콜론 없이 작성하연 다음과 같은 오류가 나타납니다.
위와 같이 문법에러로 나타나며 기본적으로는 한줄로 함수호출, 변수 할당 등을 막아놓는 것을 알 수 있습니다.
1 | print("hello"); print("world") | cs |
다음과 같이 세미콜론을 중간에 붙인다면 한 줄로 각각의 코드를 구분하여 실행하게 됩니다.
다음과 같이 hello와 world가 콘솔에 잘 찍힌 것을 확인 할 수 있습니다.
'Python' 카테고리의 다른 글
5. 파이썬 시퀀스 자료형 (0) | 2019.01.29 |
---|---|
4. 파이썬의 변수와 자료형 (0) | 2018.07.08 |
2. 파이썬 에티터 선택하기 (0) | 2018.07.07 |
1. 파이썬 환경 설정 (0) | 2018.07.07 |
0. 파이썬(python)이란? (0) | 2018.07.07 |