Chapter 1: Values, Types, and Variables

seha kim·2022년 12월 4일
0

파이썬기초

목록 보기
2/2

Part 1: Values and Types

일단 컴싸 에서 가장 근본적이고 기본적인 것이다. 일단 모든 파이썬 글자들은 종류가 있다.

예를 들어

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? 아니다. 에러가 뜰것이다. 왜일까?

https://media.giphy.com/media/l2JhtKtDWYNKdRpoA/giphy.gif

이유는 a 와 b 의 종류들이 다르기 때문이다. 그렇다면 파이썬은 무엇으로 나누어져 있는지 확인해보자

Table 1: 다양한 종류들

TypeExamplesDescription
int1,42,-101,0A data type representing a whole number(integer) vlaue, positive or negative
float3.1415,2.45,-3.0A 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
"""

그렇다. 둘이 그냥 둘이 단순히 붙는다!

https://media.giphy.com/media/YRuFixSNWFVcXaxpmX/giphy.gif


Part 2: Variables

변수… 흐음.. 되게 단순하게 말하면 수학적 의미로 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 안에 들어가게 되는것이다.

변수 이름은 최대한 연관 되어 있게 지으면 더욱 도움이 된다. 한글자로만 쓰면 너무 단순하고 보기도 좀 그러니 변수는 최대한 프로그램과 연관 있게 지으면 좋으니 참고하도록.


오늘 첫페이지는 코딩의 기초인 종류와 변수를 커버해봤다! 도움이 되었으면 좋겟다. 오타나 오류가 있으면 댓글 부탁한다.

profile
코딩 처음 배우는 사람들에게

0개의 댓글