tuple: An immutable sequence similar to a list.
triple = (5, 10, 15)
triple2 = 5, 10, 15
When creating a tuple, you can either use or omit the paranthesis.
์ด ๊ธ์์๋ ํํ์ด ํ์ด์ฌ์์ ์ฌ์ฉ๋๋ ๋ช๊ฐ์ง ๊ฐ๋จํ ์๋ฅผ ์์๋ณด๊ฒ ์ต๋๋ค.
ํ์ด์ฌ์์๋ ์ฌ๋ฌ๊ฐ์ ์ธ์๋ฅผ ์ ๋ ฅ๋ฐ๋ ํจ์๋ค์ด ์กด์ฌํฉ๋๋ค.
์๋ฅผ ๋ค๋ฉด sum ํจ์๊ฐ ์์ต๋๋ค.
a = sum(1, 3) # Set a = 4
b = sum(1, 3, 5, 7) # Set b = 16
๋ณด์๋ค์ํผ 2๊ฐ, 4๊ฐ, ๋๋ ๊ทธ ์ด์์ ์ธ์๋ฅผ ์ ๋ ฅ ๋ฐ์ต๋๋ค.
์ด๋ฌํ sum ํจ์๋ฅผ ์ง์ ๊ตฌํํ์๋ฉด, asterisk (*) ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
def sum(*values):
total = 0
for element in values:
total = total + element
return total
์ฌ๊ธฐ์ values parameter๋ ์ฌ์ค tuple ๋ฐ์ดํฐ ํํ์ ๋๋ค.
์ฆ, sum(1, 3, 5, 7)๊ณผ ๊ฐ์ ํํ๋ก ์ ๋ฌ๋ ์ธ์๋ค์ (1, 3, 5, 7)์ด tuple์ ํํ๋ก ์ ๋ฌ๋๋ ๋ฐฉ์์ ๋๋ค.
๋ํ, ํ๋์ ํจ์์์ ๊ณ ์ ๋ ๊ฐ์์ ์ธ์ + ๋ค์ํ ์์ ์ธ์๋ฅผ ์ ๋ ฅ๋ฐ๊ณ ์ ํ ์, ๋ค์๊ณผ ๊ฐ์ด ์์ฑํฉ๋๋ค.
def studentGrades(idNum, name, *grades):
...
์ด๋ฌํ ๊ฒฝ์ฐ, ์ฒซ๋ฒ์งธ ์ธ์ = idNum, ๋๋ฒ์งธ ์ธ์ = name ์ผ๋ก ์ ๋ฌ๋๊ณ ,
์ดํ์ n๊ฐ์ ์ธ์๋ค์ ๋ชจ๋ grades๋ก tuple์ ํํ๋ก ์ ๋ฌ๋ฉ๋๋ค.
์์ฒ๋ผ fixed parameter variable, ๊ณ ์ ๋ ๊ฐ์์ ํ๋ผ๋ฏธํฐ ๋ณ์์ ๋ค์ํ ์์ ์ธ์๋ฅผ ๋์์ ์ฌ์ฉํ๊ณ ์ ํ๋ฉด tuple parameter๊ฐ ๋ฐ๋์ ๋ง์ง๋ง์ ์์นํด์ผ ํฉ๋๋ค.
๋ํ ํํ์ด ์ฌ์ฉ๋๋ ๋ค๋ฅธ ์๋ Tuple Assignment๊ฐ ์์ต๋๋ค.
(price, quantity) = (19.95, 12) # Can omit paranthesis on both sides
# is same as
price = 19.95
quantity = 12
์ด์ฒ๋ผ tuple assignment๋ฅผ ์ฌ์ฉํ๋ฉด 2๊ฐ ์ด์์ ๊ฐ์ ํ๋ฒ์ assignํ ์ ์์ต๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋์ง๋ ์์ง๋ง, ์์๋๋ฉด ์ข์ต๋๋ค.
๋ค๋ง ์ฌ๊ธฐ์ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉ๋ ์ ์๋ ๊ฒ์ ๋๊ฐ์ ๊ฐ์ swapํ ๋ ์ ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ฐ๋ฆฌ๋ ๋๊ฐ์ ๋ณ์์ ์ ์ฅ๋ ๊ฐ์ ๊ต์ฒดํ ๋, temporary ๋ณ์์ ํ๋๋ฅผ ์ ์ฅํ๊ณ ํ๋์ฉ ์ฎ๊ฒจ์ assign ํฉ๋๋ค.
ํ์ง๋ง, ๋ค์๊ณผ ๊ฐ์ด ํ๋ฉด ํ ์ค๋ก ์ด๋ฅผ ํํ ์ ์์ต๋๋ค.
(variable1, variable2) = (variable2, variable1) # Swapping variables
(myList[i], myList[j]) = (myList[j], myList[i]) # Swapping list elements
๋ง์ง๋ง์ผ๋ก, ํจ์์ ๋ฐํ ๊ฐ์ผ๋ก ์ฌ๋ฌ๊ฐ์ ๊ฐ์ ๋ฐ์ ๋ ๋ํ ํํ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
def readDate() :
print("Enter a date:")
month = int(input(" month: "))
day = int(input(" day: "))
year = int(input(" year: "))
return (month, day, year) # Returns a tuple
์์ ๊ฐ์ ํจ์๋ ๋ฐํ๊ฐ์ผ๋ก ์ด ์ธ๊ฐ์ ์ ์๊ฐ ๋ค์ด์๋ tuple์ ๋ฐํํฉ๋๋ค.
์ฆ, ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํ ์ ์์ต๋๋ค.
(month, day, year) = readDate() # Again, can omit the paranthesis
'python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
List ๋ฆฌ์คํธ (0) | 2025.01.26 |
---|---|
Terminating a Program (ํ๋ก๊ทธ๋จ ์ข ๋ฃ) (0) | 2025.01.12 |
Analyzing String | ๋ฌธ์์ด ํจ์๋ค (0) | 2025.01.12 |
[baekjoon] 2563๋ฒ ์์ข ์ด Python (0) | 2023.10.14 |
[baekjoon] 10789๋ฒ ์ธ๋ก์ฝ๊ธฐ Python (1) | 2023.10.14 |