자료형과 연산자

jinkyung·2021년 3월 8일
0

Python

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

기본 자료형과 연산자

파이썬은 들어가는 값에 따라서 자료형이 바뀐다.


  • 따옴표를 문자열로 쓸 시에는 한번 더 따옴표로 감싸면 된다.


  • 큰따옴표/작은따옴표 상관없이 세번 연달아 써주면 안에 있는 문장을 그대로 출력해준다.


  • 문자열과 문자열을 결합시 + 연산자를 사용

  • 문자열을 곱하여 반복 출력도 가능하다
  • len() 함수를 통해 문자열의 길이를 알 수 있다.


  • 문자열 인덱싱


  • 문자열 슬라이싱

첫번째 것은 이상, 마지막 것은 미만

  • 문자열 포맷팅
#문자열 포맷팅

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)    # 나머지


자료구조형 자료형(컬렉션)

List

# 자료구조형 자료형(컬렉션)

# 리스트   : 순서가 있는 리스트 자료구조(삽입/삭제/변경)
# 튜플     : 읽기전용 리스트
# 셋       : 집합(합집합/교집합/차집합), 순서가 없다
# 딕셔너리  : 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)



Tuple

값을 넘겨주고 싶을 때 주로 쓴다

# 튜플 : 읽기전용 리스트(순서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)


Set

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))

post-custom-banner

0개의 댓글