[파이썬] - Asterisk( * ) 사용

zsunny·2022년 7월 27일
1

[Python] 문법

목록 보기
16/18

🔎 곱셈, 거듭제곱, 데이터의 확장

1️⃣ 곱셈

num = 3 * 3
print(num)		# 9

2️⃣ 거듭제곱

num = 3 ** 3
print(num)		# 27

3️⃣ 리스트형 데이터의 확장

nums = [0] * 5
print(num)		# [0, 0, 0, 0, 0]

🔎 Unpacking

Unpacking은 리스트 / 튜플 / 집합 / 딕셔너리 안의 데이터들을 풀어주는 것을 말한다.

1️⃣ 리스트

nums = [1, 2, 3, 3]
print(nums)			# [1, 2, 3, 3]
print(*nums)		# 1, 2, 3, 3

2️⃣ 튜플

nums = (1, 2, 3, 3)
print(nums)			# (1, 2, 3, 3)
print(*nums)		# 1, 2, 3, 3

3️⃣ 집합

nums = set([1, 2, 3, 3])
print(nums)			# {1, 2, 3}
print(*nums)		# 1, 2, 3

4️⃣ 딕셔너리

dic = {1: 'hello', 2: 'world' , 3: 'python'}
print(nums)			# {1: 'hello', 2: 'world', 3: 'python'}
print(*nums)		# 1, 2, 3

🔎 가변인자

가변인자에는 positional arguments (위치에 따라 정해지는 인자 *args), keyword arguments (키워드를 갖는 인자 **kwargs) 가 있다.

1️⃣ positional arguments

def sol(*args):
	print(args)

sol("Tom", 10)		# ("Tom", 10)

2️⃣ keyword arguments

def sol(**kwargs):
	print(kwargs)
    print(kwargs["name"])
    print(kwars["age"])

sol(name = "Tom", age = 10)		# (name = "Tom", age = 10)
								# Tom
                                # 10

3️⃣ positional arguments & keyword arguments

def sol(*args, **kwargs):
	print(args)
	print(kwargs)

sol("Tom", age = 10)		# ("Tom")
							# {age = 10}

이때, *args는 **kwargs 보다 앞에 위치해야만 한다. keyword arguments는 default값을 설정할 수 있는 반면에 positional arguments는 생략이 불가능하고 정해진 위치에 인자 전달해야 하기 때문이다.

📌 Asterisk(*) 사용 문제

👉 [백준 9093 파이썬] - 단어 뒤집기

🙏 참고

👉 파이썬 별표(*), Asterisk의 역할

profile
매일 성장하는 예비 웹 개발자 🌱

0개의 댓글