print('******************************************************************')

# tupleの定義
num_tuple = (10, 20)
print(num_tuple)

print('******************************************************************')

# tupleのアンパッキング
## tupleの要素が、x ,yに入り、tupleが解除されている
x, y = num_tuple
print(num_tuple)

#上はx, yに、値を定義しているのと同じような意味になる。
x, y = (10, 20)
print(x, y)

# 丸括弧なくても大丈夫。Pythonではtupleを展開するという意味になる。
x, y = 10, 20
print(x, y)

print('******************************************************************')

#上はx, yに、値を定義しているのと同じような意味になる。
min, max = 0, 100
print(min, max)

print('******************************************************************')
# 以下のプログラムは長くて分かりづらい
##a, b, c, d, e, f = `Mike`,  `1`, `1`,  `1`, `e`, `f`
# 行が長くなるときは、１行ずつプログラムを書くことが好ましい
a = 'Mike'
b = 1
c = 1
# etc

print('******************************************************************')

# アンパッキングを利用した数字の入れ替え
i = 10
j = 20

# iとjを入れ替えたいとき、jの20をiにいきなり入れると値が上書きされてしまう。
## 一時的な変数を用意し、入れ替える
### 入れ替えに3行もかかってしまう。
tmp = i
i = j
j = tmp
print(i, j)

# アンパッキングを利用した変数のかんたんな入れ替え
a = 100
b = 200
print(a, b)
a, b = b, a
print(a, b)


