본문 바로가기
파이썬/주식 자동매매

Python 키움API 자동매매프로그램 개발-5.Python 기초편 주석, 들여쓰기

by 행복론자 2021. 1. 21.

시리즈 이전글입니다.

2021/01/20 - [파이썬/주식 자동매매] - Python 키움API 자동매매프로그램 개발-4.Python 기초편 변수 사용하기

 

 

Python에서 프로그램이 알아들을 수 있도록 작성한 명령어가 코드(code)이고 사람이 알아볼 수 있는 것은 주석(comment)라고 합니다.

하지만 코드가 아니라고 해서 전부 다 주석인 것은 아니고 주석으로 만들어주는 처리가 따로 필요합니다. 먼저 test.py를 만들어 한글과 코드를 입력한 후 실행해보겠습니다.

 

test.py

"안녕"

print("Hello World")

 

 

“안녕”은 사람만 알아볼 수 있는 말이기에 컴퓨터는 무엇을 의미하는지 알지 못합니다.

하지만 “안녕”을 주석처리 하지 않고 실행했기 때문에 컴퓨터는 이 부분을 코드로 인식하고 실행하다가 에러가 발생합니다. 

코드를 실행하는 라인에서 에러가 발생한다면 그 다음에 등장하는 정상 코드들 마저 실행이 되지 않고 종료되어 버려 “Hello world”는 출력되지 않습니다.

NameError: name '안녕' is not defined

 

이렇게 코드가 아닌 문자들이 Python 파일내에 존재하려면 전부 주석처리를 해야합니다.

그렇지 않으면 컴퓨터는 이 부분을 코드처럼 인식하려고 하기 때문에 에러가 발생합니다. 

 

따라서 위의 예를 정상적으로 실행시키려면 “안녕”을 주석처리하는 과정이 필요합니다.

주석으로 만드는 방법은 주석으로 표시할 부분을 ‘#’처리 하면 됩니다.

무슨 말이냐면 위에서 “안녕”을 주석처리 하기 위해서는 제일 앞에 ‘#’을 붙이고 한 번 띄어쓰기를 한 상태에서 문자를 입력합니다.

#"안녕"  (X)

# "안녕" (O)

print("Hello World")

 

 

프로그램을 동작시키면 정상적으로 실행됨을 알 수 있습니다.

Pycharm을 비롯한 대부분의 개발툴에서 편하게 주석처리 하는 방법은 해당 라인으로 가서 ‘Ctrl + /’을 누르시면 됩니다.

 

반대로 주석을 해제하고 싶으시면 주석처리가 되어 있는 라인에서 다시 ‘Ctrl + /’를 누르면 됩니다.

 

또 여러줄을 주석처리 하고 싶으시면 마우스 드래그로 블록을 만들고 ‘Ctrl + /’를 누르시면 주석처리 됩니다. 똑같이 다시  ‘Ctrl + /’를 누르시면 주석이 해제됩니다.  

# "안녕"
# print("Hello World")

 

 

그러면 주석이라는 왜 필요하며 굳이 남기는 이유가 무엇일까요?

바로 코드를 읽는 사람이 이해하기 쉽도록 도와주기 위함입니다.

본인이 만든 코드라도 나중에 다시 보게 된다면 내가 만든 것이 맞는지 싶을 정도로 낯설 수 있습니다. 본인도 그런데 남들이 본다면 도대체 무엇을 하기 위한 코드인지 더더욱 이해하기 어려울 수 있습니다. 그럴 때를 대비해 한글로 이 코드가 무엇인지 설명하는 부분, 주석이 필요합니다.

 

주석은 이렇게 설명용으로 남기는 경우게 많기 때문에 여러줄을 주석처리하는 방법도 필요합니다. ‘#’을 붙이는 방법 외의 여러줄의 주석을 만드는 방법은 

작은 따옴표(‘)를 세번 쓰고 그안에 주석을 달고 다시 똑같이 따옴표로 닫아주는 것입니다.

마찬가지로 큰 따옴표(“)를 세번 이용해서도 가능합니다.

'''
프로그램 전체 설명이나
기능을 설명할 때는 써야할 말이 많습니다.
'''




"""
그럴 때 주석을 이렇게 길게
사용합니다.
"""

 

 

간결하되 상세한 주석을 남겨 스스로가 만든 코드를 정리하는 동시에 남들이 봤을 때 이해를 도울 수 있도록 주석 남기는 것을 습관화하시기 바랍니다.

 

다음은 들여쓰기에 대해 알아보겠습니다.

들여쓴다는 것은 일종의 띄어쓰기인데 지금가지 우리가 배운 예시들에서는 들여쓰기를 한 코드는 없었습니다.

 

하지만 코드들의 묶음인 코드블록이라는 것이 있고 코드가 블록 단위로 실행된다라고 

막연히 생각해보겠습니다.

다음은 조건문 챕터에서 배울 if라는 조건문을 사용한 코드입니다.

var = 3
if var > 2:
  print('start')
  print('var is bigger than 2')
  print('finish')

 

 

일단 무슨 말인지 다 알지는 못해도 if라는 것 밑에 있는 코드들은 일정 간격 들여쓰기 되어 있습니다. 반대로 들여쓰지 않은 코드들은 에러가 납니다.

var = 3
if var > 2:
print('start')
print('var is bigger than 2')
print('finish')

 

 

왜냐하면 if라는 구문에 속하는 코드 블록은 들여쓰기를 해야하기 때문입니다.

특정조건을 확인하는 if라는 구문에서 조건에 해당하면 다음 코드를 실행하게 되는데 

들여쓰기를 하지 않는다면 조건에 맞아 실행되어야 하는 영역이 어디인지 컴퓨터나 사람이나 구분하기 어렵게 되고 이럴 경우 컴퓨터는 에러를 발생시킵니다.

 

어쨌거나 아직까지는 들여쓰기를 해보지는 않았지만 컴퓨터가 코드를 인식하는데는 

들여쓰기라는 것이 필요한 경우가 있다고만 생각해 주시기 바랍니다.

 

이 들여쓰기를 하는 방법은 스페이스바(spacebar) 4번 혹은 탭(tab)을 이용합니다.

만약 스페이스바 3번을 눌러 들여쓰기 한 경우도 에러가 발생합니다. 

var = 3
if var > 2:
  print('start')
  print('var is bigger than 2')
 print('finish')  # space바 3번한 경우는 들여쓰기가 아님X

 

 

마지막줄 print(‘finish’)를 제외하고는 스페이스바 3번으로 들여쓰기 했습니다. 이렇게 될 경우 다음과 같은 에러가 발생합니다.

IndentationError: unexpected indent

 

혹시 어느 분께서는 ‘그러면 var = 3는 왜 들여쓰기 안하냐’고 궁금해하실 수도 있습니다.

들여쓰기는 코드가 실행되는 단위로 구분짓습니다. 

구분 지을 키워드(예로 든 if구문 등)의 사용이 없었던 var = 3은 들여쓰기할 필요가 없고 들여쓰기가 필요없는 곳에 들여쓰기를 하면 오히려 컴퓨터가 왜 들여쓰기를 했는지 이해하지 못하고 에러가 발생합니다. 

var = 3

   var = 3

 

 

들여쓰기라는 것이 처음에는 막연히 어색하실 수 있지만 앞으로 기초문법 파트를 배우며 사용하는 경우를 배우시면 점점 익숙해지실 것이라 크게 걱정하지 않으셔도 됩니다.

 

 


같이 보시면 좋을 글

2021/02/10 - [파이썬/주식 자동매매] - 주식매매프로그램 개발 노하우, 소스를 담은 전자책이 발간되었습니다.

 

주식매매프로그램 개발 노하우, 소스를 담은 전자책이 발간되었습니다.

주식매매프로그램 개발 노하우에 관한 제 전자책이 발간되었습니다. https://kmong.com/gig/292764 주식매매프로그램, 쉽게 따라 만드는 노하우와 소스를 드립니다. | 36000원부터 시작 가능한 총 평 0개

jsp-dev.tistory.com

 

2021/01/21 - [파이썬/주식 자동매매] - Python 키움API 자동매매프로그램 개발-6.Python 기초편 자료형(1)

 

반응형
이 포스팅은 쿠팡파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

댓글