[혼공학습단 13기] 1주차 학습

양승빈·2025년 1월 10일
0

혼공학습단 13기

목록 보기
3/9

개요

  • 범위: chapter 01~02-2
  • 목표: 자료형과 숫자형 데이터 다루기
  • 참고: chapter 01 생략

학습 내용

02-1 자료형과 문자열

1. 자료형 확인하기

# 입력값
print(type("안녕하세요"))
print(type(273))

# 출력값
<class 'str'>
<class 'int'>

2. 문자열 만들기

print("안녕하세요") # 따옴표("" or '')
print('"안녕하세요" 라고 말했습니다') # 문자열 내부 따옴표 출력 
  • 문자열을 출력할 때에는 작은 따옴표('') 또는 큰 따옴표("")를 통해 만들 수 있다.
  • 문자열 내부에 따옴표를 출력하기 위해서는 다음과 같은 방법을 사용할 수 있다.
    ① 작은 따옴표 문자열 안에 큰 따옴표로 특정 문자열을 만든다.
    ② 큰 따옴표 문자열 안에 작은 따옴표로 특정 문자열을 만든다.
  • 즉, 서로 다른 종류의 따옴표로 서로 감싸주면 된다.

3. 이스케이프 문자(\n, \t …)

# 이스케이프('\')
print('\'안녕하세요\'라고 말했습니다') # \'
print("\"배가 고픕니다\"라고 생각했습니다") # \"
  • \'(작은 따옴표) 또는 \"(큰 따옴표)를 이용하면 서로 다른 따옴표로 감싸지 않고 따옴표를 출력할 수 있다.
# 이스케이프('\') 활용
print('안녕하세요\n안녕하세요') # \n: 줄바꿈
print('안녕하세요\t안녕하세요') # \t: tab
  • 그 밖에도 \n(줄바꿈), \t(탭:Tab) 등 다양한 이스케이프 문자가 존재한다.
# 여러 줄 문자열 만들기 (""" """)
# 줄바꿈 적용
print("""
동해물과 백두산이 마르고 닳도록
하느님으 보우하사 우리나라 만세
무궁화 삼천리 화려강산 대한사람
대한으로 길이 보전하세
""")

# 즐바꿈 미적용(\)
print("""\
동해물과 백두산이 마르고 닳도록
하느님으 보우하사 우리나라 만세
무궁화 삼천리 화려강산 대한사람
대한으로 길이 보전하세\
""")
  • 한번에 여러 줄의 문자열을 출력할 때는 따옴표를 세 번 반복해 입력하면 된다. (""" """)
  • 또한, 출력 결과에서 위 아래 줄바꿈을 원치 않을 때는 역슬래시(\)를 입력하여 이용할 수 있다.

직접 해보는 손코딩: 이스케이프 문자로 탭 사용하기 (p.90)

# 입력값
# (p.90) 직접 해보는 손코딩: 이스케이프 문자(\t)로 탭 사용하기 
print('이름\t나이\t지역')
print('윤인성\t25\t강서구')
print('윤아린\t24\t강북구')
print('구름\t3\t서초구')

# 출력값
이름	나이	지역
윤인성	25	강서구
윤아린	24	강북구
구름	3	서초구

4. 문자열 연산자

# 문자열 연결 연산자 
print('안녕'+'하세요') # 문자열 연결 연산자: +
# print('안녕하세요' + 1) # TypeError: str+int 불가능
print('hello '*3) # 문자열 반복 연산자: *

# 출력값
안녕하세요
hello hello hello 
  • 문자열을 연결하기 위한 문자열 연결 연산자(+)는 각 문자열을 연결해주는 역할을 한다.
  • 다만, datatype이 다른 경우 해당 연산자는 사용할 수 없다.(TypeError)
  • 문자열을 반복하여 출력하기 위한 문자연 반복 연산자(*)는 각 문자열을 반복하여 출력하도록 하는 역할을 가진다.
# 문자열 선택 연산자 ([]: 인덱싱)
print('안녕하세요'[0]) # index[0] = '안'
print('안녕하세요'[1]) # index[1] = '녕'
print('안녕하세요'[2])
print('안녕하세요'[3])
print('안녕하세요'[4])

# 출력값
안
녕
하
세
요
# 문자열 선택 연산자 ([]: 인덱싱)
print('안녕하세요'[-5])
print('안녕하세요'[-4])
print('안녕하세요'[-3])
print('안녕하세요'[-2])
print('안녕하세요'[-1])

# 출력값
안
녕
하
세
요
  • 문자열 선택 연산자([])는 문자열 내부 문자 하나를 선택하는 연산자이다. 대괄호 안에 위치(index)를 지정하여 출력할 수 있다.
  • python은 숫자를 0부터 세는 zero index를 사용하는 언어이다.
  • 추가로, index를 음수로 지정하면 뒤에서부터 선택할 수 있다.
# 문자열 범위 선택 연산자 ([:]: 슬라이싱)
print('안녕하세요'[0:2])
print('안녕하세요'[1:3])
print('안녕하세요'[2:])
print('안녕하세요'[:2])

# 출력값 
안녕
녕하
하세요
안녕
  • 문자열 범위 선택 연산자([:])는 범위를 지정하는 연산자이다.
  • python은 범위 지정 시 마지막 숫자를 지정하지 않는다. 때문에, 범위가 [0:n]으로 지정된 경우 0부터 n-1까지 출력된다.

IndexError(index out of range)

---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-23-9f68cc4e1a0b> in <cell line: 2>()
      1 # IndexError
----> 2 print('안녕하세요'[5])

IndexError: string index out of range
  • 문자열 범위를 넘어서는 값을 지정하는 경우 IndexError가 발생한다.

5. 문자열 길이

# 문자열 길이 구하기
print(len('안녕하세요'))

# 출력값
5

02-2 숫자

1. 사칙연산자

# 사칙연산자
print(1+1) # 덧셈(+) 
print(1-1) # 뺄셈(-)
print(5*7) # 곱셈(*)
print(5/7) # 나눗셈(/)
print(3//2) # 정수 나눗셈(//) > 소수점 절사 
print(3%2) # 나머지 연산자(%) > 나머지 출력
print(3**2) # 거듭제공(**)

# 출력값 
2
0
35
0.7142857142857143
1
1
9
  • 숫자형 데이터에는 연산자를 통한 연산이 가능하다. (+, -, *, /)
  • 기본 사칙 연산 외 나누기(정수), 나머지, 거듭제곱을 표현하는 방법도 있다. (//, %, **)
# 연산자 우선순위
print(2+2-2*2/2*2)
print(2-2+2/2*2+2)
print((5+3)*2)
print(5+(3*2))

# 출력값
0.0
4.0
16
11
  • 연산자에는 우선순위가 존재하는데, 파이썬의 수식도 우선순위에 따라 계산된다.
  • 곱셈과 나눗셈은 덧셈과 뺄셈보다 우선하며, 동일 순위의 연산자끼리는 왼쪽에서 오른쪽 순서로 처리된다.

0개의 댓글

관련 채용 정보