본문 바로가기
Python

[Python] Slash and Asterisk for Function Parameters

by ds31x 2024. 2. 4.

Function의 헤더에서 parameters 를 정의하는데,

해당 parameters 중,

  • 어떤 것들이 positional parameters 로만 사용가능한지,
  • 어떤 것들이 일반적인 parameters로서 positional parameters 또는 keyword parameters 모두 사용가능한지,
  • 어떤 것들은 keyword parameters 로만 사용가능한지

를 명시적으로 선언하는데

사용되는 symbol이 바로 slash / 와 asterisk * 임.


사용법

사용법은 다음과 같음.

def ds_func(pos_only_arg0, pos_only_arg1, /, arg0, arg1, *, kw_only_arg0, kw_only_arg1):
	pass
  • slash /  앞의 파라메터들은 positional-only-arguments 로서 keyword 로 할당시 error 발생.
  • slash / 와 asterisk * 사이의 파라메터들은 posintal argument 또는 keyword argument 로 할당이 가능한 일반 파라메터들임.
  • asterisk * 뒤의 파라메터들은 keyword-only-arguments 로만 할당될 수 있음.

 

참고로 Python 3.8 부터 위의 파라메터들을 구분하는 기능이 사용가능함.


더 읽어보면 좋은 URLs

2023.07.30 - [Python] - [Python] asterisk * 사용하기 : unpacking, packing

 

[Python] asterisk * 사용하기 : unpacking, packing

C언어에서 pointer 연산자인 * (asterisk)는 Python에서 상당히 낯설게 동작한다. (특히, PEP3132, PEP448 등에서 그 기능이 무지 많아져서... --;;) double asterisk ** 와 함께 packing과 unpacking 기능으로 정말 많이

ds31x.tistory.com

https://dsaint31.tistory.com/506

 

[Python] Function Definition, Call and Arguments

이 문서는 function에 대한 간단한 소개를 하고 있다. 일부 자세한 내용들은 관련 URL을 추가하는 형태로 확장될 수 있음. Function이란 재사용성과 가독성을 위해 논리적으로 코드를 나누는(or 그룹짓

dsaint31.tistory.com

 

728x90