Big Ben
Big Ben's Log
Big Ben
전체 방문자
오늘
어제
  • 전체 글 (80)
    • 파이썬 (23)
      • 파이썬 기초 (5)
      • 클래스 (6)
      • 자료구조 (4)
      • Tensorflow (3)
      • PyTorch (2)
      • konlpy (1)
      • anaconda (1)
    • 머신러닝 (3)
      • 선형회귀 (1)
      • Tree 기반 (1)
    • 딥러닝 (6)
      • NLP (2)
      • VISION (2)
      • TABULAR (0)
      • 딥러닝 서버 구축 (2)
    • 그래프 이론 (1)
      • 그래프마이닝 (1)
      • GNN (0)
    • 강화학습 (3)
      • 강화학습 기본 (3)
    • 인공지능 (5)
    • 추천시스템 (2)
      • 추천시스템 기초 (2)
    • Competitions (1)
    • 빅데이터 (8)
      • 하둡 (3)
      • 스파크 (4)
      • 클라우드 (1)
    • SQL (7)
      • MariaDB (2)
    • 논문 리뷰 (2)
    • 대학원 (0)
      • 데이터 사이언스 (0)
      • 경제학 (0)
    • 선형대수학 (7)
      • 선형대수 ICE BREAKING (1)
      • 벡터 (5)
      • 고윳값 (1)
    • 개인프로젝트 (0)
      • 포트폴리오 대시보드 + AI기반 주식 자동매매 (0)
    • 재테크 (1)
    • 자동차 (0)
    • 알고리즘 (11)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • pytorch
  • Baekjoon
  • AI
  • 코딩테스트
  • 프로그래머스
  • 빅데이터
  • 객체
  • 알고리즘
  • mysql
  • 선형대수학
  • PYTHON
  • sql
  • 데이터사이언스
  • 코테
  • 객체지향
  • MariaDB
  • TensorFlow
  • 머신러닝
  • 파이썬
  • 선형대수
  • class
  • 데이터
  • 데이터베이스
  • 파이썬기초
  • 인공지능
  • 백준
  • 딥러닝
  • 프로그래밍
  • 하둡
  • 자료구조

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Big Ben

Big Ben's Log

파이썬/파이썬 기초

[python] 함수 - 가변 인수

2023. 3. 5. 12:48
반응형

파이썬 인수에 대해 알아보겠습니다.

 

파이썬을 활용하다 보면, 아래와 같은 함수 방식으로 인자를 주는 것을 종종 보셨을 겁니다.

 

# 1번 케이스
def function(*args):
	...(이하 코드 생략)...
    
# 2번 케이스
def function2(**kwargs):
	...(이하 코드 생략)...

이렇게 인수 이름 앞에 * 기호를 붙이면, 이 자리에 여러 개의 인수가 올 수 있습니다.

 

이것을 '가변 인수'라고 지칭합니다.

 

가변 인수의 특징은 정해진 개수만큼의 실인수를 전달해야할 필요가 없습니다.

가변 인수는 임의 개수의 인수를 받는 다는 것이 특징입니다.

 

아래 예를 통해 확인해보겠습니다.

 

def intsum(*ints):
	sum = 0
    for num in ints:
	    sum += num
	return sum
    
# 인자 개수에 주목하자.
# 함수 호출 시 3개, 5개, 7개 각각 다른 개수의 인자가 전달됐다.
print(intsum(1, 2, 3))  # return: 6
print(intsum(5, 7, 9, 11, 13))  # return: 45
print(intsum(8, 9, 6, 2, 9, 7, 5, 8))  # return: 54

 

단, 가변 인수를 사용할 때 유념해야 할 특징이 있습니다.

 

가변 인수는 이후의 모든 인수를 다 포함하기 때문에 인수 목록의 마지막에 와야 합니다. 가변 인수 앞에는 일반 인수가 올 수 있지만, 뒤쪽에 올 수는 없습니다.

가변 인수 뒤에 일반 인수가 더 있으면 어디까지 가변 인수인지 잘 구분이 되지 않기 때문입니다.

 

가변 인수를 사용하는 대표적인 함수가 기본 출력문 print 함수입니다.

개수와 타입에 상관없이 문자열이든 숫자든 콤마로 구분하여 전달하면 출력이 되는 함수이죠.

출력 대상이 무엇이든, 어떤 형태이든 구분할 필요 없습니다.

 

def print(*args):
	for arg in args:
    	...(이하 arg마다 출력하는 코드)...


print("파이썬, 신기한 언어")  # 문자열 하나 출력
print(a, b) # a와 b 두개의 인자값을 출력
print("문자열", 1234, 3.14) # 문자열, 1234, 3.14 - 총 3개의 인자값을 출력

 

즉 print 함수는 모든 인수를 가변 인수로 전달받아 하나씩 순서대로 꺼내 문자열 형태로 바꾼 후 화면으로 출력합니다.

반응형
저작자표시 (새창열림)

'파이썬 > 파이썬 기초' 카테고리의 다른 글

[python] 반복자(iterator)와 제너레이터(generator)  (0) 2023.04.05
[python] finally 블록 - 파이썬의 자원정리 방법  (0) 2023.03.05
[python] is 연산자란?  (0) 2023.03.05
[python] 키워드 가변 인수 (keyword variable arguments)  (0) 2023.03.05
    '파이썬/파이썬 기초' 카테고리의 다른 글
    • [python] 반복자(iterator)와 제너레이터(generator)
    • [python] finally 블록 - 파이썬의 자원정리 방법
    • [python] is 연산자란?
    • [python] 키워드 가변 인수 (keyword variable arguments)
    Big Ben
    Big Ben
    Data Scientist

    티스토리툴바