220923 Python #9

김혜진·2022년 9월 23일
0

Python

목록 보기
8/24

Python #9

문자열

문자열이란 무엇인가

  • 문자열이란 'a', 'b', 'c'등과 같은 각각의 문자들을 모아서 'abc'처럼 표현한 형태
  • 겹따옴표 "abc"를 사용해도 동일하다.
  • 이러한 연산이 가능할까?

문자열 연산하기

문자열 더하기

  • 정수는 더하기가 가능하다. 1 + 2
  • 문자열은 더하기가 가능할까?
  • 문자열의 더하기는 결합의 의미이다.
print('I' + 'love' + 'you')

str1 = 'I'
str2 = 'love'
str3 = 'you'

result = str1 + str2 + str3
print(result)

출력결과
Iloveyou
Iloveyou

문자열 곱하기

print('-' * 30)

출력결과
------------------------------

문자열 접근 및 자르기

문자열 인덱스를 통해 접근하기

  • 리스트를 통해 각 요소에 접근할 수 있다.

  • 문자열 또한 인덱스를 통해 요소에 접근할 수 있다.

  • 문자열은 각 문자마다 인덱스가 매겨진다.

str = '답은 정해져 있어 너는 대답만 해'
print(str[0], end='')
print(str[3], end='')
print(str[10], end='')

출력결과
답정너

  • 문자열 인덱스를 통하여 문자열을 역순으로 출력하기
str1 = '다시 합창합시다'
str2 = ''

count = len(str1) #str1.length

for i in range(0, count):
    str2 = str2 + str1[count - ( 1 + i)]

print('str1 : ', str1)
print('str2 : ', str2)

출력결과
str1 : 다시 합창합시다
str2 : 다시합창합 시다

문자열 인덱스를 통해 자르기

  • 문자열에서 한 문자가 아니라 한 단어를 뽑아낼 수 있다.
    문자열[시작인덱스 : 끝인덱스 + 1]
str = 'To be or not to be'

print(str[0:5]) #To be
print(str[6:8]) #or
print(str[9:16]) #not to

출력결과
To be
or
not to

문자열의 서식 지정과 포매팅

문자열의 서식 지정은 왜 필요한가

  • 문자열 안에는 정수, 실수, 문자 등의 다양한 형태의 내용이 들어가있다.
  • 다양한 형태를 서식(format)이라고 부른다.
  • 서식 지정자(format specifier)를 통해서 다양한 형태의 문자열을 만들 수 있다.

    첫 번째 문자열은 정수값 5
    두 번째 문자열에는 실수값 36.5
    세 번째 문자열에는 16진수 0x100

이 수들의 공통점: 언제든지 값이 변할 수 있다.

  • 정수형 문자열 서식 지정자(%d) 사용하기

  • 실수형 문자열 서식 지정자((%f) 사용하기

  • 문자열 서식 지정자(%s) 사용하기

value = int(input('정수 값을 대입하세요 : '))
print('현재 시간은 %d시 입니다.' %value)

value = float(input('실수 값을 대입하세요 : '))
print('현재  체온은 %.1f시 입니다.' %value)

value = input('문자열을 대입하세요 : ')
print('나는 %s에 살고 있습니다.' %value)

출력결과
정수 값을 대입하세요 : 4
현재 시간은 4시 입니다.
실수 값을 대입하세요 : 36.5
현재 체온은 36.5시 입니다.
문자열을 대입하세요 : 서울
나는 서울에 살고 있습니다.

그 밖의 문자열 서식 지정자

  • 정수형 문자열 서식 지정자인 %d의 값 뒤에 '%'기호를 출력하려면?
print('강수 확률은 %d%%입니다.' %60)

출력결과
강수 확률은 60%입니다.

%d 뒤에 %를 하나 더 붙인다.

format 함수를 사용한 포매팅

  • format() 함수를 사용하여 여러 타입의 데이터를 문자열로 출력
    '현재 시간은 {0}시 입니다.' .format(3)
    문자열 안에 정수 3을 출력하는 방법이다.
    정수의 자리에 {0}을 넣어주고 삽입할 정수는 format(3) 함수 안에 쓰면 된다.

  • 문자열을 출력하는 형태
    '나는 {0}에 살고 있습니다.' .format('수원)

  • 2개 이상의 값을 출력하는 형태
    '현재 시간은 {0}시 {1}분 입니다.' .format(12,30)

value = int(input('정수 값을 대입하세요 : '))
print('현재 시간은 {0}시 입니다.' .format(value))

value = (input('문자열을 대입하세요 : '))
print('나는 {0}에 살고 있습니다.' .format(value))

hour = int(input('시를 대입하세요 : '))
minutes = int(input('분을 대입하세요 : '))
print('현재 시간은 {0}시 {1}분 입니다.' .format(hour, minutes))

출력결과
수 값을 대입하세요 : (5)
현재 시간은 5시 입니다.
문자열을 대입하세요 : (양양)
나는 양양에 살고 있습니다.
시를 대입하세요 : (12)
분을 대입하세요 : (30)
현재 시간은 12시 30분 입니다.

profile
알고 쓰자!

0개의 댓글