
문법(Syntax)는 우리가 일상생활에서 쓰는 한국어의 문법과 같은 것이다. 단, 한국어를 포함한 사람의 언어는 문법이 조금 틀려도 괜찮지만, 프로그래밍 언어의 문법은 조금만 틀려도 프로그램이 절대 실행되지 않는다.

기본적인 파이썬 함수의 정의 방법이다. <와 >는 쓰지 않는다.
def function_name(parameter):
variable = parameter
while (variable > 5):
variable = variable - 1
variable = variable - 2
return variable
아직 함수를 배우지 않았기 때문에 들여쓰기 위주로 코드를 읽어보면
def function_name(parameter):
아래로 모두 들여쓰기가 된 것을 볼 수 있다.
def function_name(parameter):
////variable = parameter
////while (variable > 5):
////variable = variable - 1
////variable = variable - 2
////return variable
이는 이 함수의 블록(block)이 저 한 번의 들여쓰기(////)만큼 있는 곳까지 유효하다는 의미이다.
만약 다음과 같이 코드를 작성했다고 해보자.
def function_name(parameter):
variable = parameter
while (variable > 5):
variable = variable - 1
variable = variable - 2
return variable
variable2 = parameter <- 이 부분은 함수 블록에 포함되지 않는다
이 경우에 아래 부분은 함수의 블록에 포함되지 않는다.
variable2 = parameter
그렇게 된다면 프로그램에서 variable2가 할당(=)받는 parameter는 인터프리터가 알 수가 없어 오류가 발생한다.
그런데 저 while 아래에는 들여쓰기가 하나 더 존재한다. 이건 누구의 내용일까?
////while (variable > 5):
////variable = variable - 1
////variable = variable - 2
그 주인은 다음과 같다.
////while (variable > 5):
이때 while 또한 함수(function_name(parameter))의 내용에 포함되기 때문에 결론적으로는 이것도 함수의 블록이라고 할 수 있는 것이다. (while이 무엇인지는 나중에 알 수 있다)
def function_name(parameter):
////variable = parameter
////while (variable > 5):
////variable = variable - 1
////variable = variable - 2
////return variable
def function_name(parameter):
variable = parameter
while (variable > 5):
variable = variable - 1
variable = variable - 2
return variable