728x90
처음에는 포인터 인줄 알고 쫄았지만 Python에서는 포인터의 개념으로 사용되지는 않는다
*args
*args는 arguments 의 줄인 말이고 통상적으로 *arg를 많이 사용하지만
굳이 변수명을 arg를 할 필요는 없다
*args 는 여러개의 인자를 함수로 받고자 할 때 사용한다
def myclass(*students):
print(students)
print("The first student name is : ", students[0])
print("The last student name is : ", students[-1])
myclass('철수','영희','바둑이')
>>> ('철수', '영희', '바둑이')
>>> The first student name is : 철수
>>> The last student name is : 바둑이
이런 식으로 입력값이 몇개가 들어올지 모를 때 사용하고
저장되는 방식은 argument에 Tuple 형식으로 저장이 된다
*kwargs
kwargs 는 keyword argument의 줄인 말로
키워드 = 특정 값 형태로 함수를 호출 할 수 있다
마찬가지로 굳이 kwargs를 사용할 필요는 없지만
arg 와 kwargs 사용하는 것이 일반적이므로 추천한다
def myclass(**kwargs):
print(kwargs)
for number, name in kwargs.items():
print("학번 : 2023{1} , 학생이름 : {0} ".format(number,name))
myclass(홍길동="1111",철수 = '2222',바둑이 = '3333')
>>> {'홍길동': '1111', '철수': '2222', '바둑이': '3333'}
>>> 학번 : 20231111 , 학생이름 : 홍길동
>>> 학번 : 20232222 , 학생이름 : 철수
>>> 학번 : 20233333 , 학생이름 : 바둑이
이 두개를 같이 쓴다면 다음과 같은 것을 자유롭게 할 수 있다
def myclass(*arg,**kwargs):
print(arg[0])
for number, name in kwargs.items():
print("학번 : 2023{1} , 학생이름 : {0} ".format(number,name))
myclass("우리 반 아이들을 소개합니다 ",홍길동="1111",철수 = '2222',바둑이 = '3333')
728x90
'Python > Basic' 카테고리의 다른 글
[Python] Class 와 OOP에 관하여 (0) | 2023.04.05 |
---|---|
Python Decorator 에 관하여 (0) | 2023.04.04 |
[AI for Python] 행렬의 곱셈 정리 (0) | 2022.10.04 |
[Python Basic] Python 에 수식표현(Sympy) (0) | 2022.10.03 |
[Python Basic]조건문과 반복문 (0) | 2022.09.23 |