본문 바로가기
컴퓨터공학 언어/Python

함수

by KChang 2021. 10. 15.

함수의 개념

함수(Function) : '무엇'을 넣으면, '어떤 것'을 돌려주는 요술 상자

메소드(Method)와 차이점 : 함수는 외부에 별도로 존재, 메소드는 클래스 안에 존재

 

함수 이름

  • 소문자로 입력한다.
  • 띄어쓰기를 할 경우에는 _기호를 사용한다.
  • 행위를 기록하므로 동사와 명사를 함께 사용하는 경우가 많다.

parameter : 함수의 인스턴스(매개변수)

argument : 인수

 

global문은 사용하지 않는 것이 좋다

global 문을 사용하는 것은 함수가 매개변수와 반환 값을 이용해 외부와 소통하는 자연스러운 흐름을 깨트리는 일이다.

pass : True/False 실행할 문장 또는 동작을 정의할 때, 아무런 일도 하지 않게 설정하는 것이다.

if True:
    pass
else:
    print('거짓이네요')

 

함수의 반환값과 매개변수

1) 매개변수에 기본 값을 설정해 놓고 전달하는 방법

def para_func(v1, v2, v3 = 0):
    result = 0
    result = v1 + v2 + v3
    return result

## 전역 변수 선언
hap = 0
hap para_func(10, 20) # 30
hap para_func(10, 20, 30)  # 60

2) 가변 매개변수(Arbitrary Argument) : 매개변수의 개수를 지정하지 않고 전달하는 방법

# 함수 선언
# 매개변수 (10, 20) 형식의 튜플로 전달
# 매개변수 (10, 20, 30) 형식의 튜플로 전달
def para_func(*para):
    result = 0
    for num in para:
        result = result + num

    return result

# 전역 변수 선언 부분
hap = 0
hap = para_func(10, 20)
hap = para_func(10, 20, 30)
  • *agrs : Positional argument (매개변수)로 tuple로 반환
    • def function(*args):
          for i,v in enumerate(args):
              print(i,v)
      
      if __name__=="__main__":
          function(1,'a','bcd')
      
      [출력 결과]
      0 1
      1 a
      2 bcd
      
  • **kwargs : keyword argument (매개변수)로 dictionary로 반환 {'key':value}
    • 키 = 값 형식으로 사용
    • def function(**kwargs):
          for k,v in kwargs.items():
              print(k,v)
      
      if __name__=="__main__":
          function(n1=1, n2=2, n3=3)
      
      [출력 결과]
      n1 1
      n2 2
      n3 3
      

enumerate : 순서가 있는 자료형(list, tuple, 문자열)을 입력으로 받아 인덱스 값을 포함하는 enumerate 객체를 돌려준다.

(index, value를 함께 출력하고 싶을 때 주로 사용)

items : Key와 Value의 쌍을 튜플로 묶은 값을 dict_items 객체로 돌려준다.

len() : 가변적으로 전달된 인자의 개수

lotto = ['a','b']
lotto.count('c')  # 0
lotto.count('a')  # 1

 

함수와 메소드

템플릿 문자열(베이스 문자열)

  • 코드를 대화창에 입력할 때 사용되는 문자열
  • 출력 메소드 format을 호출하는 문자열

플레이스홀더

  • 인자의 출력을 목적으로 사용되는 중괄호
'{} Python!'.format('Hello')
# {} : 플레이스 홀더
# 'Hello' : 플레이스 홀더에 들어갈 내용

'{0} Python!'.format('Hello')
# 베이스 문자열, 템플릿 문자열
# 인덱스를 중복할 수 있다.

 

format() 메소드

  • 플레이스 홀더 내에 콜론(:)을 찍고 출력의 크기와 형식 지정을 할 수 있다.
  • 플레이스 홀더에 출력을 할 때는 key=value와 같이 키와 값을 인자로 넘겨주고 이 키를 이용한 출력도 가능하다.
  •  
  • for i in range(2, 15, 2): print('{0:3d} {1:4d}'.format(i, i*i)) print('위도 : {lat}, 경도 : {long}'.format(lat='35.17', long = '129.07E'))

 

built-in function (내장 함수)

함수는 흔히 블랙박스 라는 비유를 한다.

파이썬에서 기본으로 구현되어 있어 제공하는 함수를 파이썬의 내장함수라고 한다.

파이썬의 객체는 다른 객체와 구별되는 고유한 식별값을 가지고 있으며 id() 함수는 이 객체의 식별 값을 정수형으로 반환

'컴퓨터공학 언어 > Python' 카테고리의 다른 글

Algorithm 공부하다 알게된 내용  (0) 2021.10.26
Module과 Package  (0) 2021.10.15
문자열  (0) 2021.10.15
Tuple, Dictionary, Set  (0) 2021.10.15
List  (0) 2021.10.15

댓글