티스토리 뷰

0. 파이썬 프로그램의 구조

파이썬 프로그램의 간단한 구조를 아래 그램에서 볼 수 있다.

주석, 외부모듈 불러오기, 변수 선언, 함수 정의, 함수 불러오기 등의 순으로 프로그램된다. 

 

1. Python 식별자(Identifiers)

 

파이썬의 식별자는 변수, 함수, 클래스, 모듈 또는 기타 객체를 식별(구분)하는데 사용되는 이름이다. 식별자는 a~z, A~Z 또는 밑줄(_)로 시작하여, 1개 이상의 문자, 밑줄 및 숫자(0~9)를 연속으로 기록하여 사용한다. 

식별자의 명명 규칙은 아래와 같다.

- 클래스 이름은 대문자로 시작한다. 다른 모든 식별자는 소문자로 시작한다. 

- 단일 밑줄로 식별자를 시작하면 강력한 개인 식별자를 나타낸다. 

- 식별자가 두개의 밑줄로 끝나는 경우는 파이썬 언어에서 정의한 특수 이름이다. 

 

2. 예약어 (Reserved Keyword)

 

파이썬 언어에서 사전에 정의된 예약어는 아래와 같으며, 식별자로 사용할 수 없다. 

and assert break class continue
def del elif else except
exec finally for from global
if import in is lambda
not or pass print raise
return try while with yield

 

3. 줄과 들여 쓰기

 

파이썬에서 콜론(:)와 들여쓰기(일반적으로 연속 4개의 공백)으로 문장의 블럭을 제한하므로 매우 중요한 역할을 한다. 클래스(Classes), 함수(Function), 반복문(Loop), 의사결정문(Decision Making) 등에서 첫줄의 끝에 콜론(:)을 붙여 블럭의 시작을 알리고 들여쓰기가 계속되는 지점까지 같은 블럭으로 인식한다. 

# 01_05_PythonBlockIndentation

result = True

def FunctionBlock():                # 함수의 시작
    print("Block Indentation")
    print("Block Indentation")
    print("Block Indentation")
    print("Block Indentation")      # 함수의 종료

if result == False:                 # 조건문의 시작
    print("result: False")          # result: False 
else:                               # else 블럭의 시작
    print("result: True")           # result: True

 

4. 여러줄 문

 

프로그램의 한줄의 길이가 길어 다음 라인으로 줄바꿈을 하고자 할 경우가 있다. 이를 때 줄 연속문자(\)를 사용하여 다음줄에 연결하여 코딩할 수 있다.

주의할 내용은 [], {}, () 등의 괄호안에 포함된 명령문은 줄 연속문자를 사용할 필요가 없다. 

# 03_04_00_PythonMultiLineStatements

MultiLine = "First"  \
            "Second" \
            "Third"
print(MultiLine)    # FirstSecondThird

5. 파이썬 인용 

파이썬에서 사용하는 문자열의 시작과 종료는 작은따옴표('), 큰따옴표("), 삼중따옴표('" 또는 """)를 사용하여 문자열을 나타낸다. 삼중따옴표는 문자열을 여러줄로 확장하는데 사용된다. 

 

6. 파이썬 주석

1) 주석의 중요성

프로그램을 하면서 한줄의 알고리즘을 작성하는 만큼 중요한것이 한 줄의 주석문을 추가하는 것이라 생각한다. 요즘 프로그램은 팀을 구성하여 작성하기 때문에 다른 프로그래머가 작성한 프로그램을 수정해야 할 경우가 많다. 뿐만 아니라 혼자 프로그램을 작성하더라도 시간이 지나게 되면 직접 작성한 코더도 처음 보는 듯한 경우가 많다. 프로그램에서 사용하는 변수의 값이 많이지면 변수명 만드로 의미를 이해가기가 어려운 경우도 발생한다. 한번 사용하고 버릴 프로그램이 아니라면 앞을 대비해 시간이 들더라도 올바른 주석을 작성하는데 시간을 아끼지 않아야 한다. 

 

2) 주석의 종류

파이썬에서 주석은 프로그램 내에 존재하지만 프로그램 실행시에는 영향을 주지않는 프로그램 조각이다. 샵(#) 또는 삼연속 쌍 따옴표(""") 나 삼 연속 따옴표(''')를 사용하여 작성한다. 코딩 내 주석, 한 줄 주석, 여러줄 주석으로 구분할 수 있으며 사용방법은 아래와 같다. 

# 03_01_PythonComment

# 코딩 끝 주석문(Comment at End of Sentence)
Value = "Comment Test"      # 코딩내 주석문
print(Value)                # print(Value)
# Comment Test
result = Value + Value      
print(result)               # print(result)
# Comment TestComment Test

# 한줄 주석 문 (Single line Comment)
# print("Single line Comment")

# 여러줄 주석문 (Multi line Comment)
"""
print('여러줄 주석문 작성') 
print('여러줄 주석문 작성')
print('여러줄 주석문 작성')
print('여러줄 주석문 작성')
"""
'''
print('여러줄 주석문 작성')
print('여러줄 주석문 작성')
print('여러줄 주석문 작성')
print('여러줄 주석문 작성')
'''

 

3) 프로그램 실행 중에 주석문 읽기 

파이썬에서 룰에 따라 함수에 주석문을 달아 놓으면 프로그램 식행 중에 주석문을 읽어 올 수 있다. 

- __doc__ 속성을 통한 읽기

# 03_02_PythonDocAttribute

def DocFunction():
    """
    Name:DocFunction
    Version:0.0.0.1
    """
    return

# __doc__ 속성을 사용한 출력
print(DocFunction.__doc__)
    # Name:DocFunction
    # Version:0.0.0.1

- help 명령을 통한 읽기 

# 03_03_PythonHelpCommand

def DocFunction():
    """
    Name:DocFunction
    Version:0.0.0.1
    """
    return


# help 명령어를 사용한 출력
help(DocFunction)
# Help on function DocFunction in module __main__:

# DocFunction()
#     Name:DocFunction
#     Version:0.0.0.1

 

4) 파이썬의 일반적인 주석 처리 규칙

주석기호(#, ")의 다음에 공백을 하나 삽입한다. 

주석 텍스트는 대문자로 시작한다. 

주석의 끝에는 마침표(.)를 붙인다. 

 

7. 빈줄 

파이썬 컴파일러의 입장에서 주석에 포함된 공백만 인식할 뿐 나머지는 완전히 무시 한다. 프로그래머의 입장에서 빈줄은 함수, 클래스, 문장의 분리를 통하여 가독성을 높이므로 적절히 사용하는 것이 좋다. 

 

8. 한줄에 여러 문장

프로그램을 작성하다보면 한줄에 여러 문장을 작성하고 싶은 경우가 있다. 이때 세미콜론(;)을 통하여 문장을 추가할 수 있다.

추천하는 방법은 아니다.

# 03_08_00_PythonMultipleSentencesPerLine

FirstString = "First"; SecondString = "Second"
print(FirstString); print(SecondString) # First
                                        # Second

9. PIP를 활용한 외부 모듈 설치하기

파이썬은 "언어 자체가 좋다"기 보다는 외부 모듈이 잘 발달되어 있어 성공한 언어라 생각한다.

따라서 이런 장점을 잘 이용하기 위해서 PIP 명령을 잘 알아야 한다.

PIP 명령에서 필수 기능은

- PIP 명령 자체를 업그레이드 하는 기능

- 설치가 가능한 모듈을 찾기는 기능(Search)

- 설치되어 있는 목록을 보는 기능(List)

- 설치 되지 않은 모듈의 설치하는 기능(Install)

- 설치된 모듈을 업그레이드(Upgrade)하는 기능이 있다. 

 

- PIP 자체를 업그레이드하는 명령어는 아래와 같다. 

python -m pip install -U pip

- 설치가 가능한 모듈을 찾는 명령어는 아래와 같다. [numpy] 는 설치하고자 하는 모듈의 이름이다. 

pip search numpy

- 설치가 되어 있는 모듈을 확인하는 명령어는 아래와 같다. [numpy]는 설치가 되어 있는지 알아볼 모듈의 이름이다. 

pip list

- 설치가 되어 있지 않은 모듈을 설치하는 명령어는 아래와 같다

pip install numpy

- 설치된 모듈을 최신판으로 업그레이드 하는 명령어는 아래와 같다. 

pip install -U numpy

10. 도움말 유틸리티 

파이썬은 사전에 정의된 명령어에 대하여 사용 방법을 조회 해 볼수 있는 도움말(Help)명령어가 있다. 

# 03_10_00_PythonHelp.py
import math

help(help)
help(__builtins__)
help(math)

실행 결과은 아래와 같다. 

 

Help on _Helper in module _sitebuiltins object: 

class _Helper(builtins.object) 
 |  Define the builtin 'help'. 
 | 
 |  This is a wrapper around pydoc.help that provides a helpful message 
 |  when 'help' is typed at the Python interactive prompt. 
 | 
 |  Calling help() at the Python prompt starts an interactive help session. 
 |  Calling help(thing) prints help for the python object 'thing'. 
 | 
 |  Methods defined here: 
 | 
 |  __call__(self, *args, **kwds) 
 |      Call self as a function. 
 | 
 |  __repr__(self) 
 |      Return repr(self). 
 | 
 |  ---------------------------------------------------------------------- 
 |  Data descriptors defined here: 
 | 
 |  __dict__ 
 |      dictionary for instance variables (if defined) 
 | 
 |  __weakref__ 
 |      list of weak references to the object (if defined) 

Help on dict object: 

class dict(object) 
 |  dict() -> new empty dictionary 
 |  dict(mapping) -> new dictionary initialized from a mapping object's 
 |      (key, value) pairs 
 |  dict(iterable) -> new dictionary initialized as if via: 
 |      d = {} 
 |      for k, v in iterable: 
 |          d[k] = v 
 |  dict(**kwargs) -> new dictionary initialized with the name=value pairs 
 |      in the keyword argument list.  For example:  dict(one=1, two=2) 
 | 
 |  Methods defined here: 
 | 
 |  __contains__(self, key, /) 
 |      True if the dictionary has the specified key, else False. 
 | 
 |  __delitem__(self, key, /) 
 |      Delete self[key]. 
 | 
 |  __eq__(self, value, /) 
 |      Return self==value. 
 | 
 |  __ge__(self, value, /) 
 |      Return self>=value. 
 | 
 |  __getattribute__(self, name, /) 
 |      Return getattr(self, name). 
-- More  --



댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함