이제 당신은 변수와 값에 대해 배우게 될 것입니다.
변수란, 값을 저장하는 공간입니다. (멋있게 부르면 variable)
변수 만들기
이름 = 값
수정하기
이름 = 값
똑같죠?
똑같습니다.
(참고: 변수 이름을 한국어로 짓는 것은 그냥 신성 모독이나 다름이 없다.
영어로 짓는 게 관례이다.
예:
game_level
user_count
temp
a
b
_
참고로 변수가 두 단어이면 공백 대신 _으로 구분합니다.
_은 파이썬의 공식 쓰레기통입니다.
)
값은, 그냥 값입니다. (숫자 같은 거요. 숫자 모르면 유치원이나 가세요.)
파이썬에는 다양한 값이 있습니다.
예:
1
0
-1
60
199
0xdeadbeef
0x5f3759df
지금은 십진수 표기법만 알아도 됩니다.
그냥 숫자 쓰듯이 쓰면 됩니다.
(콤마로 끊어 쓰는 거 안 됩니다.)
"(큰따옴표) + 내용 + "(큰따옴표)로 씁니다.
예:
"haha"
"foo"
"bar"
"ugly"
특수 문자를 표현할 때 문자열 중간에 쓴다.
대표적인 것:
\n : 줄바꿈
\r : 캐리지 리턴
\t : 탭
\\ : 백슬래시 그 자체
\" : 문자열 중간의 큰따옴표
예:
"foo\nbar"
"abc\tdef"
"\"a\"\t\\b\\"
print("Hello World!")에서 Hello World!가 문자열로 나타나 있다.
문자, 숫자 등을 여러 개 담을 때 사용한다.
[와 ] 사이에 각 요소들을 쉼표로 구분하여 표기한다.
예:
[1, 2, 3]
["foo", "bar", "baz"]
[1, "foo", 3.14, "bar"]
각 요소는 서로 다른 타입이어도 됩니다.
예를 들어:
items = [1, "foo", 3.14]
처럼 숫자와 문자열을 하나의 리스트에 같이 넣을 수도 있습니다.
리스트의 각 요소에는 번호가 붙습니다.
단, 0부터 시작합니다.
items = ["foo", "bar", "baz"]
print(items[0])
print(items[1])
print(items[2])
결과:
foo
bar
baz
그러니까:
0 → foo
1 → bar
2 → baz
입니다.
왜 1부터 안 세냐고요?
Python이 그렇게 만들었습니다.
받아들이십시오.
리스트의 요소는 수정할 수 있습니다.
items = ["foo", "bar", "baz"]
items[1] = "hello"
print(items)
결과:
['foo', 'hello', 'baz']
이렇게 됩니다.
append()를 사용하면 리스트의 끝에 값을 추가할 수 있습니다.
items = ["foo", "bar"]
items.append("baz")
print(items)
결과:
['foo', 'bar', 'baz']
마법입니다.
나중에 왜 append()가 작동하는지 알게 될 것입니다.
튜플은 리스트와 비슷합니다.
그런데 수정할 수 없습니다.
나타내는 법:
(1, 2, 3)
예:
items = ("foo", "bar", "baz")
print(items[0])
결과:
foo
리스트와 마찬가지로 번호는 0부터 시작합니다.
그런데:
items[0] = "hello"
이렇게 하면?
안 됩니다.
Python이 화냅니다.
튜플은 한 번 만들어지면 그 안의 요소를 바꿀 수 없습니다.
그렇다면 왜 리스트 놔두고 튜플을 쓰냐고요?
나중에 알려드리겠습니다.
마법에는 이유가 있습니다.
드디어 이름이 좀 있어 보이는 게 나왔습니다.
딕셔너리는 키(key)와 값(value)을 연결해서 저장하는 자료형입니다.
예:
user = {
"name": "foo",
"age": 20,
}
여기서:
"name" → "foo"
"age" → 20
입니다.
"name"과 "age"가 키이고,
"foo"와 20이 값입니다.
리스트는 번호로 가져왔지만,
딕셔너리는 키를 사용합니다.
user = {
"name": "foo",
"age": 20,
}
print(user["name"])
print(user["age"])
결과:
foo
20
편리합니다.
숫자로 외우지 않아도 됩니다.
딕셔너리의 값은 수정할 수 있습니다.
user = {
"name": "foo",
"age": 20,
}
user["age"] = 21
print(user["age"])
결과:
21
없는 키에 값을 대입하면 새로운 항목이 추가됩니다.
user = {
"name": "foo",
}
user["age"] = 20
print(user)
결과:
{'name': 'foo', 'age': 20}
마법입니다.
정리해봅시다.
리스트 [1, 2, 3]
튜플 (1, 2, 3)
딕셔너리 {"a": 1, "b": 2}
리스트는 여러 값을 넣고 수정할 수 있습니다.
튜플은 여러 값을 넣지만 수정할 수 없습니다.
딕셔너리는 키와 값을 연결해서 저장합니다.
오늘은 꽤 많은 것을 배웠습니다.
숫자도 배웠고,
문자열도 배웠고,
리스트도 배웠고,
튜플도 배웠고,
딕셔너리도 배웠습니다.
대단합니다.
이제 당신은 Python의 마법을 조금 이해했습니다.
하지만 아직 모르는 마법이 많습니다.
특히:
print()
이게 왜 작동하는지 아직 제대로 설명하지 않았습니다.
마법입니다.
이제 05강으로 넘어가십시오.