기본 자료형과 연산자
파이썬은 들어가는 값에 따라서 자료형이 바뀐다.
첫번째 것은 이상, 마지막 것은 미만
#문자열 포맷팅
word = "I eat %d apples." % 3
print(word)
word = "I eat {} apples".format(3)
print(word)
word = "I eat %d apples. I eat 4 %s." % (3, "blueberry")
print(word)
word = "I eat {} apples. I eat 4 {}".format(3, "blueberry")
print(word)
word = "I eat {0} {1}. I eat {2} {1}".format(3, "apples", 4)
print(word)
# 문자열 관련 함수
# 1) 문자열 길이
word = "Life is too short"
print(len(word))
# 2) 문자 개수 세기
print(word.count('o'))
# 3) 문자 위치 인덱스
print(word.find('t'))
# 4) 문자열 삽입
word = ",".join("abcd")
print(word)
# 5) 소문자 -> 대문자
word = "hi"
print(word.upper())
# 6) 대문자 -> 소문자
word = "HI"
print(word.lower())
# 7) 왼쪽 공백 지우기
word = " hi "
print(word, len(word))
word = word.lstrip()
print(word, len(word))
# 8) 오른쪽 공백 지우기
word = " hi "
print(word, len(word))
word = word.rstrip()
print(word, len(word))
# 9) 양쪽 공백 지우기
word = " hi "
print(word, len(word))
word = word.strip()
print(word, len(word))
# 10) 문자열 바꾸기
word = "Life is too short"
word = word.replace("Life", "Your leg")
print(word)
# 11) 문자열 나누기
word = "Life is too short"
a = word.split() #공백으로 나눈다
print(a)
word = "a:b:c:d"
b = word.split(":")
print(b)
# 불 자료형
a = True
b = False
print(a, type(a))
print(b, type(b))
name = "홍길동"
result = name=="홍길동"
print(result)
a = 10
b = 20
c = a > b
print(c, type(c))
# 연산자
print(10+20)
print(10-20)
print(10*20)
print(10/20)
print(10//20) # 몫
print(10%20) # 나머지
자료구조형 자료형(컬렉션)
# 자료구조형 자료형(컬렉션)
# 리스트 : 순서가 있는 리스트 자료구조(삽입/삭제/변경)
# 튜플 : 읽기전용 리스트
# 셋 : 집합(합집합/교집합/차집합), 순서가 없다
# 딕셔너리 : key:value
#
# 리스트-튜플-셋 간에는 자유로운 변환이 가능하다
# 딕셔너리 : json 데이터로 변환이 쉽다
# 1) 리스트
a = []
b = [1, 2, 3, 4, 5, 6]
c = ["Life", "is", "too", "short"]
print(a, type(a))
print(b, type(b))
print(b[1])
print(c, type(c))
print(c[2])
print("-".join(c))
print(b[1:4])
a = [1, 2, 3]
b = [4, 5, 6]
c = a+b
print(c, type(c))
# 리스트는 순서보장 -> 값은 같아도 위치가 다르므로 중복이 허용된다
a = [1, 2, 3, 4]
b = [4, 5, 6]
c = a+b
print(c, type(c))
a = [1, 2]
print(a * 3)
# 리스트는 데이터 변경 가능
a = [1, 2, 3]
a[2] = 10
print(a)
a.append(4) # 추가
print(a)
a.sort() # 정렬
print(a)
a.reverse()
print(a) # 역정렬
a.insert(1, 20) # index 1에 10을 삽입하라
print(a)
a.remove(20) # 20을 삭제하라
print(a)
del a[2] # index 2를 삭제하라
print(a)
값을 넘겨주고 싶을 때 주로 쓴다
# 튜플 : 읽기전용 리스트(순서o, 삽입/삭제/변경 x)
a = ()
b = (1, 2, 3, 4, 5)
print(a, type(a))
print(b, type(b))
print(b[2])
# b[2] = 10 # 에러
a, b, c = 10, 20, 30
print(a, b, c)
a, b, c = b, c, a
print(a, b, c)
# 위의 코드는 사실 tuple객체끼리의 복사이다
(a, b, c) = (b, c, a)
print(a, b, c)
def arith(a, b):
return a+b, a-b, a*b, a/b
num0, num1, num2, num3 = arith(20, 3)
print(num0, num1, num2, num3)
union - 합집합, 순서x, 중복 x
# 셋 (집합) : 순서가 없다, 존재유무
a = {1, 2, 3, 4}
b = {3, 4, 5, 6}
print(a, type(a))
print(b, type(b))
c = a.union(b) # 합집합
print(c, type(c))
c = a.intersection(b) # 교집합
print(c, type(c))
c = a - b # 차집합
print(c, type(c))