자료형이란?
data type
1 + 1 = 2
'1' + '1' = '11'
자료형에 따라 연산의 결과가 달라진다
변수란?
값을 담는 상자
a = 3
a라는 숫자 자료를 a라는 상자(변수)에 담는다
수학에서의 등호랑 다른 의미
ex) a = a + 1
오른쪽에 있는 값을 왼쪽의 변수에 담는다. 대입한다.
02-1 숫자형
- 정수형(1, 2, -2) int
- 실수(1.24, -24.56) float (수직선 위에 나타낼 수 있는 수로, 유리수와 무리스 전체를 총칭하여 확장한 수)
컴퓨터식 지수 표현 방식(4.24e10, 4.24e-10)
8진수(0o37)
16진수(0x7A)
숫자형 사용하기 예제
숫자형 활용하기 위한 연산자 : +, -, *, /, **, //, %
연산자 사용하는 예제
02-2 문자열 자료형
문자열(String) : 문자, 단어 등으로 구성된 문자들의 집합
문자열 자요형 만드는 4가지 방법
"hello world"
'python is fun'
"""Life is too short, You need python"""
'''Life is too short, You need python'''
왜 네가지나 방법이 필요할까?
문자열 안에 ', " 들어갈 수 있으니..
여러라인에 걸쳐 문자열을 작성할 수 있으니..
이스케이프 코드
프로그래밍 할 때 사용할 수 있도록 미리 정의해 둔 '문자 조합'
주로 출력물을 보기 좋게 정렬하는 용도로 사용
\n, \t, \\, \', \" 정도만 알면 됨
문자열 연산
문자열 더하기
문자열 곱하기
문자열 길이 구하기 len(a)
문자열 인덱싱과 슬라이싱
indexing 색인하기, 가리키기 : 번호는 0부터 시작함, 뒤에서부터는 -1 부터 시작
slicing 잘라내기
a[시작번호(이상):끝번호(미만):간격]
문자열 포매팅
형식, 틀
문자열 안의 특정한 값을 바꿔야 할 경우가 있을 때 이것을 가능하게 해주는 것이 바로 포매팅
문자열 안에 어떤 값을 삽입하는 방법
%d, %s
숫자+% 표현 방법 : %d%%
포맷코드와 숫자 같이 사용하는 것 : 살펴는 보지만 사실 많이 쓰이진 않음
format 함수는 사용한 포매팅
문자열 관련 함수
count
find
index
join
upper
lower
lstrip
rstrip
strip
replace
split
02-3 리스트 자료형
odd = [1, 3, 5, 7, 9]
print(odd)
# 여러가지 생김새의 리스트
a = []
b = [1, 2, 3]
c = ['Life', 'is', 'too', 'short']
d = [1, 2, 'Life', 'is']
e = [1, 2, ['Life', 'is']]
# 리스트의 인덱싱
a = [1, 2, 3]
print(a)
print(a[0])
print(a[0] + a[2])
print(a[-1])
a = [1, 2, 3, ['a', 'b', 'c']]
print(a[0])
print(a[-1])
print(a[3])
print(a[-1][0])
print(a[-1][1])
print(a[-1][2])
# 리스트의 슬라이싱
a = [1, 2, 3, 4, 5]
print(a[0:2])
# 스트링의 슬라이싱과 비교
a = "12345"
print(a[0:2])
a = [1, 2, 3, 4, 5]
b = a[:2]
c = a[2:]
print(b)
print(c)
# 중첩된 리스트의 슬라이싱
a = [1, 2, 3, ['a', 'b', 'c'], 4, 5]
print(a[2:5])
print(a[3][:2])
# 리스트 연산하기
# 1. 더하기(+)
a = [1, 2, 3]
b = [4, 5, 6]
print(a+b)
# 2. 리스트 반복하기(*)
a = [1, 2, 3]
print(a*3)
# 3. 리스트 길이 구하기
a = [1, 2, 3]
print(len(a))
# 리스트의 수정과 삭제
a = [1, 2, 3]
a[2] = 4
print(a)
a = [1, 2, 3]
del a[1]
print(a)
a = [1, 2, 3, 4, 5]
del a[2:]
print(a)
# 리스트 관련 함수
# append
a = [1, 2, 3]
a.append(4)
print(a)
a.append([5, 6])
print(a)
# sort
a = [1, 4, 3, 2]
a.sort()
print(a)
a = ['a', 'c', 'b']
a.sort()
print(a)
# reverse
a = ['a', 'c', 'b']
a.reverse()
print(a)
# index
a = [1, 2, 3]
print(a.index(3))
print(a.index(1))
# 존재하지 않는 원소 인덱싱
#print(a.index(0))
# insert
a = [1, 2, 3]
a.insert(0, 4)
print(a)
a.insert(3, 5)
print(a)
# remove
# 처음 발견하는 요소 삭제
a = [1, 2, 3, 1, 2, 3]
a.remove(3)
print(a)
a.remove(3)
print(a)
# pop
a = [1, 2, 3]
a.pop()
print(a)
a = [1, 2, 3]
a.pop(1)
print(a)
# 요소 삭제하는 세가지 방법 -> del, remove, pop
# count
a = [1, 2, 3, 1]
print(a.count(1))
# extend
a = [1, 2, 3]
a.extend([4, 5])
print(a)
b = [6, 7]
a.extend(b)
print(a)
# append와 extend의 차이는?