PYTHON 추상화

추상화 (Abstraction)
복잡한 세부 사항은 숨기면서 주요한 기능에만 집중할 수 있게 해주는 개념이다.

  • 변수 (Variable): 값을 저장
  • 함수 (Function): 명령을 저장
  • 객체 (Class)

변수

변수가 추상화인 이유는 한번 변수를 정의하고 나면 세부적인 값은 알 필요가 없이 이름만 알면 되기 때문이다.

지정 연산자 (Assignment Operator)

=는 수학적으로는 값이 같다는 의미이지만, Python에서는 오른쪽에 있는 값을 왼쪽에 있는 변수에 지정해주는 역할 을 해준다.

1
2
3
4
5
x = 2 + 1
print(x) # 3

x = x + 1
print(x) # 4

함수

  • 내장함수(Built-in Function): print, int, str 등 이미 만들어진 함수이다.
  • `def은 define(정의)라는 줄임말로 함수의 정의를 시작한다는 의미이다.
  • :는 HEADER 부분이다.
  • : 뒤로 오는 내용은 BODY이며 들여쓰기를 해줘야 한다.
  • 처음으로 들여쓰기가 된 곳이 BODY의 시작이다.
  • 처음으로 들여쓰기가 되지 않는 곳이 BODY의 끝이다.

기본 구조

1
2
3
def 함수이름(파라미터):
실행할 문장 1
실행할 문장 2
1
2
3
4
5
6
7
def hello():
print("Hello, world!")
print("Welcome to Python")

hello()
# Hello, world!
# Welcome to Python

파라미터

언제 어떻게 쓰든 똑같은 것이 나오는 것이 아니라 매번 다른 것을 넣어 함수가 출력되게 하고 싶을 때, 함수에게 정보를 주어야 한다. 정보를 주는 방법중 하나가 파라미터(Parameter)이다.

1
2
3
4
5
6
7
def hello(name): # name이 파라미터
print("Hello, %s!" % (name))
print("Welcome to Python")

hello("JUDY")
# Hello, JUDY!
# Welcome to Python
1
2
3
4
def print_sum(a, b):
pirnt(a + b)

print_sum(4, 2) # 6

들여쓰기

  • 블록: 들여쓰기 정도가 같은 명령들의 집합
  • 들여쓰기의 단계에 따라 논리의 층위가 나뉜다.
  • 들여쓰기를 잘못 진행하면 오류가 발생한다.
  • 들여쓰기를 진행할 때 일반적으로 Tab키나 공백 4칸을 사용한다.

Syntactic Sugar

자주 쓰이는 표현을 더 간략하게 쓸 수 있게 해주는 문법. +=, *=, -=, /=, %=가 있다.

Optional Parameters

파라미터에 기본값을 설정해주면 해당 파라미터에 값을 넘겨주지 않아도 기본값이 출력된다. 단, Optional Parameter는 모두 마지막에 위치하여야 한다.

1
2
3
4
5
6
7
def myself(name, nationality = "한국"):
print("내 이름은 %s" % name)
print("국적은 %s"% nationality)

myself("Python") # 기본값이 설정된 파라미터를 변경하지 않음
# 내 이름은 Python
# 국적은 한국

return문

  1. 함수 호출 부분을 return을 따르는 값으로 대체한다.
  2. 현재 실행중인 함수를 멈추고 호출이 끝나는 지점부터 다시 실행한다.
1
2
3
4
5
6
7
8
9
10
11
def f(X):
return x + 1
print("f 끝") # 실행되지 않는다. Dead Code.

def g(x):
rueturn x * x - 1
print("g 끝") # Dead Code

print(f(2)) # = print(3)
print(g(3)) # = print(8)
print(f(2) + g(3)) # = print(3+8)

return과 print의 차이

  • return은 출력하지 않는다.
  • return을 따로 해주지 않으면 None이 출력된다.
1
2
3
4
5
6
7
8
9
10
11
12
def print_square(x):
print(x * x)

def get_square(x):
return x * x

print_square(3) # 9출력
get_square(3)
# get_square(3)을 9로 대체할 뿐, 출력하지 않는다
print(get_square(3)) # 9 출력
print(print_square(3)) # None
# 코드 내에 return이 없으므로 return값으로 None이 설정된다

global 변수와 local 변수

  • local 변수: 함수 내에 정의된 변수. 한 부분에서만 유효하고 그 부분을 벗어나면 사용하지 못한다.
  • global 변수: 함수 바깥에서 정의한 변수. 모든 범위에서 사용할 수 있다.
  • 하나의 변수를 다른 여러 함수 안에서 사용하고 싶다면 함수 내부에서 global 변수명으로 지정하여 global 변수로 사용할 수 있다.
1
2
3
4
5
6
7
8
def x_is_one():
global x # 글로벌 변수로 설정
x = 1 # local 변수

x = 5 # global 변수
x_is_one()
print(x) # 5

상수 (Constant)

처음부터 끝까지 변하지 않는 값. 이름은 대문자로 기재하여야 한다. 새로 할당한다고 해도 오류가 나지 않지만 상수는 처음 설정하고 나서 변경하지 않는 것이 좋다.

1
2
3
4
PI = 3.14
print(PI) # 3.14
PI = 0
print(PI) # 0

스타일

올바르게 작동한다고 해도 간결하고 예쁘게 쓰는 것이 좋다.

이름 규칙

  1. 모든 변수와 함수 이름은 소문자로 기재하고 단어가 여러개인 경우 _로 나눈다.
  2. 모든 상수 이름은 대문자로 기재하고 단어가 여러개인 경우 _로 나눈다.
  3. 의미있는 변수 및 함수 이름을 사용한다.
  4. 적당한 화이트 스페이스는 가독성을 높인다.
  5. 적당한 추상화 및 주석(코멘트)를 사용한다.
  6. 한 줄에 80자를 넘기지 않는 것이 좋다.

REFERENCE
코드잇 온라인 강의 프로그래밍 기초

  • © 2020-2025 404 Not Found
  • Powered by Hexo Theme Ayer