파이썬 자료형

0woy·2022년 9월 24일
0

로봇프로그래밍

목록 보기
2/2
post-thumbnail
post-custom-banner

이번엔 파이썬 자료형에 대해 알아보려고 합니다.

📕 뮤터블 vs 이뮤터블

파이썬에는 변경이 가능한 뮤터블 객체와 변경이 불가능한 이뮤터블 객체가 있습니다.

📖 뮤터블(Mutable) 객체

  • 수정 및 변경이 가능한 객체를 의미합니다.
  • 생성 후 자유롭게 값을 변경, 추가, 삭제 등이 가능합니다.
  • 리스트, 사전, 배열, 사용자 정의 클래스 객체 등

🥚 입력

#list 객체 수정
my_list = ['hello', 4,[2,3]]
my_list[2] = (4,5) #index 2번째 값 변경
print(my_list)

🍳 출력

['hello', 4, (4,5)]

📖 이뮤터블(Immutable) 객체

  • 변경이 불가능한 객체
  • 생성 후 값 변경, 추가, 삭제 등이 불가능하다.
  • 숫자, string, tuple

🥚 입력

# 문자열 선언 후 hello -> heloo 변경 시도
im_var = "hello"
print(im_var[3])
im_var[3] = "o"

🍳 출력

🥚 입력

#튜플 객체 선언 후 5 -> 4 변경 시도
my_tuple=(3,5,(7,5))
print(my_tuple[1])
my_tuple[1] = 4

🍳 출력

위와 같이 이뮤터블 객체는 인덱싱 하는 것은 허용하지만, 값을 변경하려고 하면 에러가 발생합니다.


📙 int/ float

  • int정수를 의미하고 float실수를 의미합니다.
  • int와 float은 소수점 뒷 자리의 유무로 파악하면 쉽습니다

🥚 입력

ival =  1234
fval =3.141592

print(3/2)
print(3//2)

print(type(ival))
print(type(fval))

🍳 출력

1.5		#3을 2로 나눈 값
1		#3을 2로 나눈 몫
<class 'int'>		#ival의 데이터 타입
<class 'float'>		#fval의 데이터 타입

그렇다면 3.0 * 5 와 같이정수와 실수를 동시에 포함한 연산을 하면 어떻게 될까요?

🥚 입력

result = 3.0 * 5
print(result)
print(type(result)) #result의 데이터 타입

🍳 출력

15.0
<class 'float'>

정수와 실수를 포함한 계산을 하면 실수로 형변환 됩니다.
왜냐면 float이 int보다 세기 때문이죠


📒 string

string은 문자, 단어, 숫자 등으로 구성된 문자들의 집합을 의미하고, 사용하는 방식은 4가지가 있습니다.

🥚 입력

#작은 따옴표로 둘러싸기
a = 'He said "I want her bag"' 	

#큰 따옴표로 둘러 싸기
b = "Hurry Up! she's back!"	

## 작은 따옴표 3개로 둘러싸기
c= '''	
WE can use several lines.
like this
'''
 
# 큰 따옴표 3개로 둘러싸기
d = """
so interesing!
isn't it?
"""
k ="321"

print(a)
print(b)
print(c)
print(d)
print(k)

🍳 출력

He said "I want her bag"
Hurry Up! she's back!

WE can use several lines.
like this

so interesing!
isn't it?

321
  • 문자열이 큰 따옴표(")를 포함할 경우, 전체 문자열을 작은 따옴표로 묶어주고, 작은 따옴표를 포함하는 경우 큰 따옴표로 문자열을 묶어서 표현할 수 있습니다.
  • 백슬러시(\)를 앞에 붙여줘도 표현이 가능합니다.

📖 슬라이싱(slicing)

문자열 내부에서 일부분을 잘라내고 싶을 때 사용합니다.

🥚 입력

s = "python"
print(list(s))
print(s[:3])	# 맨 앞부터 2번 인덱스까지 출력

a = '20220904sunny'
day =a[0:8]		# 0번째 부터 7번째 까지 출력
weather =a[-5:]	# 뒤에서 5번째부터 끝까지 출력
k = a[-1] 		#맨 뒤에있는 값 출력

print(day)
print(weather)
print(k)

🍳 출력

['p', 'y', 't', 'h', 'o', 'n']
pyt
20220904
sunny
y

위와 같이 문자열을 자유 자재로 분리할 수 있고 인덱스를 음수로 설정해도 접근이 가능합니다.
(음수로 설정하면 뒤에서 시작된다.)

📖 문자열 결합

문자열은 + 기호로 문자열끼리 결합할 수 있습니다.

🥚 입력

a = "hello, "
b = "world"

print(a+b)	# "hello, " + "world"

c = "4"
d = "5"
print(c+d) # "4" +"5"

print(int(c)+int(d)) # int로 형변환하여 더하기

🍳 출력

hello, world
45
9

이처럼 문자열을 더하여 출력할 수 있고, 숫자로 이루어진 문자열은 형변환을 통해 숫자끼리의 계산으로도 사용할 수 있다.

문자열 내부의 숫자와 다른 숫자를 이용해 계산하고자 할 때 형변환 해주는 것을 잊지 말자!

+ 추가 예정

post-custom-banner

1개의 댓글