일단 컴싸 에서 가장 근본적이고 기본적인 것이다. 일단 모든 파이썬 글자들은 종류가 있다.
예를 들어
a = 3
b = 3
c = a + b
print(c)
"""
6
"""
이렇게 되어 있으면 c 는 무엇으로 프린트 될까? 그렇다 6이 된다. 왜냐면 3 더하기 3은 6이니까. 이건 단순 기본적인 수학 암산으로 풀수 있는것이다. 다른 예를 들어 보겠다.
a = 3
b = "3"
c = a + b
print(c)
"""
c = a + b
TypeError: unsupported operand type(s) for +: 'int' and 'str'
"""
이렇게 되어 있으면 c는 무엇으로 프린트 될까? 6? 아니다. 에러가 뜰것이다. 왜일까?
이유는 a 와 b 의 종류들이 다르기 때문이다. 그렇다면 파이썬은 무엇으로 나누어져 있는지 확인해보자
Table 1: 다양한 종류들
Type | Examples | Description |
---|---|---|
int | 1,42,-101,0 | A data type representing a whole number(integer) vlaue, positive or negative |
float | 3.1415,2.45,-3.0 | A data type representing a floating point(decimal-valued) number value, positive or negative, and is only an approximation. Be careful using item in calculations. |
str | “안녕하세요” “Hello” “페이커 짱” | A data type representing a sequence of characters(string). Can be enclosed using ‘ or “ or ‘’’ or “”” |
일단 단순히 설명하자면 int 는 정수이고 float은 유리수 str은 단어라고 생각하면 쉬울것이다.
그렇다. “3”은 string 즉 단어로 되어 있기에 int 즉 정수인 3과 더하질 못했던 것이다. 그렇다면 에러가 뜨지 않게 어떻게 해야할까?
a = 3
b = int("3")
c = a + b
print(c)
"""
6
"""
앞에 int 를 붙이면 string 이엿던 3이 정수로 변하는 기적을 볼수 있을것이다. 그렇다면 단어앞에다 int 와 float 을 붙이면 어떻게 될까?
a = int("페이커형 존잘")
print(a)
"""
ValueError: could not covert string to float: "페이커형 존잘"
"""
당.연.히 에러가 뜰것이다. 왜냐하면 애초에 string를 정수화 시키는건 불가능 하기 때문이다. 그럼 정수와 유리수는 더할수 있을려나?
a = 3
b = float(3)
c = a + b
print(c)
"""
6.0
"""
뭐 정수와 유리수를 더할순 있으니 당연히 프린트는 된다. 하지만 다른점이 있다면 결과는 유리수로 나올것이다. 6이 아닌 6.0으로 나올것이다.
>>>int(4.5)
4 #4.5라는 유리수는 정수로 변환시키는거라고 생각하면 된다.
>>>float(7)
7.0
>>>str(1.2)
"1.2" #유리수 1.2에서 단어 1.2로 변한거라고 생각하면 된다.
>>>int("42")
42 #단어 42가 정수 42로 변한거라고 생각하면 된다
결론적으로 말하자면
Table 2: 각각 종류의 합
int | + | int | = | int |
---|---|---|---|---|
int | + | float | = | float |
str | + | int or float | = | ERROR |
그러면 str 끼리 더하면 무엇이 나올까?
a = "8"
b = "7"
c = a + b
print(c)
"""
87
"""
그렇다. 둘이 그냥 둘이 단순히 붙는다!
변수… 흐음.. 되게 단순하게 말하면 수학적 의미로 x y 같은 것이기도 한다. 하지면 컴싸의 변수 의미는 살짝 다르다. 한 단어를 변수로 지정하면 그 단어는 변수라는 이름을 가진 데이터에 저장이 되어있는것이다. 이렇게 설명 하면 헷갈릴수 있으니 예시를 들어보자
skt_mid = "faker"
korean_president = "윤석열"
print(skt_mid)
print(korean_president)
"""
faker
윤석열
"""
예시를 보면 faker를 저장하는 변수 이름은 skt_mid 인거고 윤석열을 저장하는 변수의 이름은 korean_president가 되는 것이다. 이렇게 변수를 정하면 faker 라는 이름은 skt_mid 이라는 데이터 이름안에 저장이 되는거고 윤석열이라는 이름은 korean_president 라는 데이터 이름 안에 들어가는 것이다.
│
│ ~~~~~~~~~~~~~~~
│ │———————————│
│ unused │ mem_loc a │
"faker" │ │———————————│
| │ unused │ mem_loc b │
| │ │———————————│
| │ unused │ mem_loc c │
v │ │———————————│
skt_mid ------│------> skt_mid │ mem_loc d │
│ │———————————│
│ unused │ mem_loc e │
│ │———————————│
│ ~~~~~~~~~~~~~~~
│
—————————————————————————————————————————————————
Programmer Computer
이렇게 생각하면 훨씬더 이해하기 쉬울거다. 이제 faker 이라는 단어는 mem_loc d 안에 들어가게 되는것이다.
변수 이름은 최대한 연관 되어 있게 지으면 더욱 도움이 된다. 한글자로만 쓰면 너무 단순하고 보기도 좀 그러니 변수는 최대한 프로그램과 연관 있게 지으면 좋으니 참고하도록.
오늘 첫페이지는 코딩의 기초인 종류와 변수를 커버해봤다! 도움이 되었으면 좋겟다. 오타나 오류가 있으면 댓글 부탁한다.