자료형이란?
파이썬의 자료형은 기본적으로 문자열, 숫자, 불로 나눕니다. 그리고 파이썬에서는 변수의 타입을 정하지 않고, 변수에 할당될 때 타입이 결정됩니다.
- 문자열: "Hi", "안녕"
- 숫자: 15, 502.4, 0.002
- 불: True, False
자료형을 확인하는 함수로 type()이 있습니다.
a = "안녕"
b = 40
c = True
print(type(a)) #<class 'str'>
print(type(b)) #<class 'int'>
print(type(c)) #<class 'bool'>
문자열 자료형
큰따옴표/작은따옴표로 묶어 문자열을 만들 수 있습니다.
#큰따옴표 사용
print("Hello World!")
#작은따옴표 사용
print('Welcome~!')
문자열 내부에 따옴표 사용
큰따옴표로 문자열을 감싸고 내부에 작은따옴표를 사용하거나, 작은따옴표로 문자열을 감싸고 내부에 큰따옴표를 사용하는 방법과 이스케이프 문자를 사용하는 방법이 있습니다.
#큰따옴표 출력
print('Hi, my name is "sujin"') #Hi, my name is "sujin"
#작은따옴표 출력
print("Hi, my name is 'sujin'") #Hi, my name is 'sujin'
#이스케이프 문자 사용
print("\"Hello\" I am 24 years old") #"Hello" I am 24 years old
print("\'Hello\' I am 24 years old") #'Hello' I am 24 years old
여러줄로 문자열 작성
큰따옴표/작은따옴표 세 개를 사용하는 방법과 줄바꿈 이스케이프 문자(\n)을 사용하는 방법이 있습니다.
#큰따옴표/작은따옴표 사용
print("""바람이 분다 바람이 불어
연평바다에 어얼싸 돈바람 분다
얼사좋네 아좋네 군밤이여
에헤라 생율밤이로구나""")
#이스케이프 문자 사용
print('아리랑 아리랑 아라리요\n아리랑 고개로 넘어간다\n나를 버리고 가시는 임은\n십리도 못가서 발병난다')
문자열 연산자 (+, *)
문자열 연산자 +는 두 문자열을 연결해주는 역할을 합니다. *는 문자열을 반복합니다.
print("안녕" + "하세요") #안녕하세요
a = "지금은 오전"
b = "1시 10분"
print(a + b) #지금은 오전1시 10분
print("반갑습니다" * 2) #반갑습니다반갑습니다
문자열 연산자(인덱싱; [ ])
인덱싱은 문자열 내부에서 하나의 문자를 선택하는 역할을 합니다. 대괄호 안에 선택하고자 하는 문자의 위치(인덱스)를 넣으면 됩니다. 파이썬은 기본적으로 0부터 셉니다. 그리고 뒤에부터도 셀 수 있는데 -1부터 셉니다.
반 | 갑 | 습 | 니 | 다 |
0 | 1 | 2 | 3 | 4 |
-5 | -4 | -3 | -2 | -1 |
hi = "반갑습니다"
print(hi[0]) #반
print(hi[4]) #다
print(hi[5]) #오류발생, 값이 없음.
문자열 연산자(슬라이싱; [ : ])
슬라이싱은 특정 범위의 문자열을 선택할 때 사용합니다. 예를 들어 "안녕하세요"의 인덱스 값이 0부터 4까지 있는데, 그 중 '하세요'만 출력하고 싶다면 [2:5]로 표현합니다. 즉, 선택하고자하는 [시작위치 : 끝위치+1]로 지정합니다.
hi = "짱구는 못말려"
print(hi[0:2]) #짱구
print(hi[4:7]) #못말려
대괄호 안에 넣는 숫자 중 하나를 생략하면 다음과 같이 선택됩니다.
time_str = "지금은 오전 1시 25분 입니다."
print(time_str[4:]) #오전 1시 25분 입니다.
print(time_str[:13]) #지금은 오전 1시 25분
음수 인덱스 값도 넣을 수 있습니다.
time_str = "재미있는 파이썬"
print(time_str[-3:]) #파이선
print(time_str[:-4]) #재미있는
문자열 길이 구하기
len() 함수를 사용하면 문자열의 길이를 구할 수 있습니다.
hi = "안녕하세요"
print(len(hi)) #5
숫자 자료형
숫자 자료형은 소수점이 없는 숫자인 정수형, 소수점이 있는 숫자인 실수형으로 나눕니다. 숫자는 단순히 숫자만 입력하여 사용할 수 있습니다.
print(500) #500
print(32.123) #32.123
print(type(30)) #<class 'int'>
print(type(0.002)) #<class 'float'>
숫자 연산자
기본으로 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/)이 가능합니다. 나눗셈의 경우 소숫점 이하의 자릿수를 버리는 정수 나누셈(//)도 가능합니다. 또한 나머지를 구하는 나머지 연산자(%), 제곱 연산자(**)도 있습니다.
print(3 + 2) #5
print(3 - 2) #1
print(3 * 2) #6
print(3 / 2) #1.5
print(3 // 2) #1
print(3 % 2) #1
print(3 ** 2) #9
복합 대입 연산자
복합대입 연산자는 숫자 자료형에 사용하는 연산자와 =연산자를 함께 사용하는 것입니다. 예를 들어, 'a = a + 10'을 'a += 10'으로 표현하는 것입니다.
a = 10
a += 20
print(a) #30
a -= 10
print(a) #20
a *= 2
print(a) #40
a //= 4
print(a) #10
a %= 6
print(a) #4
a **= 3
print(a) #64
[추가]
서로 다른 자료형을 연산하면 에러가 발생할 수 있습니다!!
hi = "안녕"
num = 5
print(hi * num) #안녕안녕안녕안녕안녕
print(hi + num) #에러 발생