본문 바로가기
취미로 하고있는거/코딩공부 찍먹

파이썬(Python) 변수에 대해 알아보자

by sinview 2024. 1. 12.
반응형

 

안녕하세요

코딩 독학은 어렵고..힘든길이군요....많은 고수분들의 가르침을 받고 싶습니다.

무튼 오늘은 "변수" 에 대해서 알아보도록 하겠습니다.

 

 

변수의 개념은

변수는 데이터를 저장하고 참조하기 위한 메모리 공간의 이름이라고 할 수 있습니다.

파이썬에서 변수는 데이터를 담는 그릇으로, 여러 종류의 데이터를 다룰 수 있습니다.

 

변수의 선언과 할당

파이썬에서 변수를 사용하려면 먼저 변수를 선언하고 값을 할당해야 합니다.

다음은 제가 만들어본 예시인데요

이렇게 글로 작성하면서 뭔가 감이 오는 기분이에요

선언, 값 할당..? 뭔지 모르겠지만 인터넷에서  여기 저기 보고 주워들은거로 일단 작성해 보았습니다.

 

name = "몽실이","뭉실이","콩실이","쿵실이" # 고양이 이름들
num = 4 #  몇마리~
age = 10 # 고양이 나이
is_num = num = "4마리"

print(name , "와 함께 살고 있어요")
print("고양이이고요 나이는",age,"살 입니다.")
print("저희집 고양이는 5마리일까요?", is_num)

 

위 코드에서 name, num, age 는 각각 문자열, 정수를 담는 변수입니다.

is_num 변수는.. 뭐라고 해야하나요..?

 

변수 아래에는 출력까지 해보면서 내가 작성한 코드가 맞는지 확인도 해보았습니다.

('몽실이', '뭉실이', '콩실이', '쿵실이') 와 함께 살고 있어요
고양이이고요 나이는 10 살 입니다.
저희집 고양이는 5마리일까요? 4마리

 

코드를 작성하면서 에러가 나서 이것저것 해봤는데요..

 

먼저 첫번째 상황입니다.

name = "몽실이","뭉실이","콩실이","쿵실이" # 고양이 이름들
num = 4 #  몇마리~
age = 10 # 고양이 나이
is_num = num = "4마리"

print(name + "와 함께 살고 있어요")
print(name + "의 나이는" + age + "살 입니다.")
print("저희집 고양이는 5마리일까요?" + is_num)

 

처음에는 사실 요렇게 작성했었어요 print 에 ',' 콤마가 아닌 '+' 플러스를 써서 출력을 해보려고 했습니당..

 

그랬더니 에러가 나더라고요

 

ERROR!
Traceback (most recent call last):
  File "<string>", line 6, in <module>
TypeError: can only concatenate tuple (not "str") to tuple
>

 

튜플 뭐시기  str을 써라..? 뭐 그런건가...

열심히 뒤져봤더니 정수와,문자열의 자료형은 서로 다르기 때문에 자료형을 일치 시켜 주어야 한다고 합니다.

str 은 정수를 문자열로 바꿔주는 함수

str 을 써서 정수를 문자열로 바꿔주면 되는건가..?

 

일단 정수를 문자열로 바꿔 보았습니다.

name = "몽실이","뭉실이","콩실이","쿵실이" # 고양이 이름들
num = 4 #  몇마리~
age = 10 # 고양이 나이
is_num = num = "4마리"

print(name + "와 함께 살고 있어요")
print(name + "의 나이는" + str(age) + "살 입니다.")
print("저희집 고양이는 5마리일까요?" + str(is_num))

 

이렇게 바꿔 보았더니

그래도 에러가 나네요..?허..

뭣이 문제일까 생각하다가 이번엔 name에 눈이 갔어요

숫자하고 문자 밖에없는데 숫자를 문자열로 바꿧는데 문제가 있으면

문자열이 잘못된거 같아서...

 

그래서 str 함수에 name 을 넣어 봤습니다.

 

name = "몽실이","뭉실이","콩실이","쿵실이" # 고양이 이름들
num = 4 #  몇마리~
age = 10 # 고양이 나이
is_num = num = "4마리"

print(str(name) + "와 함께 살고 있어요")
print(str(name) + "의 나이는" + str(age) + "살 입니다.")
print("저희집 고양이는 5마리일까요?" + str(is_num))

 

이렇게 정수와 문자열 을 나열한 것을 str 함수에 넣어 봤어요

 

출력을 해보앗더니

 

('몽실이', '뭉실이', '콩실이', '쿵실이')와 함께 살고 있어요
('몽실이', '뭉실이', '콩실이', '쿵실이')의 나이는10살 입니다.
저희집 고양이는 5마리일까요?4마리
>

 

촤란...? 웨??? 웨된거야..?

name 에 나열된 문자가 뭔가 잘못된거같다..

코린이 여기서 포기할수 없다...

알아내야된당...

 

또 한번 구글링을 해서 궁금함을 찾았습니다..

 

파이썬 변수에서 여러개의 문자열을 저장하려면 일반적으로 리스트나 튜플과 같은 자료 구조를 사용한다고 합니다.

이 자료 구조들은 여러값을 담을수 있다고 하네요!!

name = "몽실이","뭉실이","콩실이","쿵실이" # 튜플
name = ["몽실이","뭉실이","콩실이","쿵실이"] # 리스트

 

또 리스트나 튜플은 문자열이 아닌 다른 데이터 구조라고 합니다.

리스트는 여러 값을 순서대로 저장하는 가변(mutable)한 자료형이고,

튜플은 여러 값을 순서대로 저장하는 불변(immutable)한 자료형입니다.

 

아~ 무튼 문자열 아니라는거지?ㅋ

ㅇㅋ

 

오늘도 한계단 성장했다요..

 

다음 포스팅에서는 변수의 스코프, 변수명 규칙 등에 대해 더 깊이 다뤄보도록 하겠습니다.

계속해서 함께 공부해 나가요!!

 

감사합니다

 

오늘도 즐거운 하루 되세요!!

 

 

반응형