[01주차] Python Indentation(들여쓰기)

Sung-E-Gkoght·2022년 11월 2일

HYAI - Python class

목록 보기
3/17

Python Syntax

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

"파이썬 문법(Syntax)의 특징"

-> 들여쓰기(indentation)로 함수의 영역(scope)를 구분(표시)한다.

기본적인 파이썬 함수의 정의 방법이다. <와 >는 쓰지 않는다.

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)이 저 한 번의 들여쓰기(////)만큼 있는 곳까지 유효하다는 의미이다.

  • ////은 임의로 붙인 기호이니 실제 프로그래밍 할 때는 붙이면 안된다. /가 4개인 이유는 보통 들여쓰기를 할 때 tab키를 누르는데, 파이썬의 일반적인 설정에서 그 크기가 띄어쓰기 4번과 같기 때문이다.

만약 다음과 같이 코드를 작성했다고 해보자.

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
profile
Sung-E-Gkoght

0개의 댓글