ThLee
ThLee의 기록장
ThLee
전체 방문자
오늘
어제
  • 분류 전체보기 (137)
    • 정보처리기사 (13)
    • 알고리즘&문제 (5)
    • 인공지능 (4)
    • 자연어처리(NLP) (6)
    • 파이썬 (24)
    • 앱인벤터 강좌 (21)
    • 리눅스 (4)
    • 프로젝트 (1)
    • (App)톡분석AI (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 파이썬 넘파이
  • Python
  • 정보처리기사 정리
  • 블록코딩
  • 앱인벤터
  • 정처기
  • 앱인벤터 강좌
  • 넘파이
  • 블로그
  • 인공지능
  • 파이썬
  • 어플
  • 딥러닝
  • 정보처리기사
  • 판다스
  • 앱인벤터 블로그
  • 정보처리기사 실기 정리
  • AI
  • 앱인벤터 무료
  • 정보처리기사 실기

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ThLee

ThLee의 기록장

파이썬

[파이썬] 문자열 자료형

2022. 3. 31. 22:49
728x90

문자열 생성 방법

항목 예시
큰따옴표(" ")  "Hello"
작은따옴표(' ') 'Hello'
큰따옴표 3개를 연속(""") """Hello"""
작은따옴표 3개를 연속(''') '''Hello'''

생성 방법 4가지 차이점

  1. 문자열 안에 작은따옴표(')나 큰따옴표(")를 넣는가?
  2. 줄바꿈을 넣는가?

문자열 안에 작은따옴표( ' ), 큰따옴표( " ), 둘다 넣는법

항목 방법 예시
작은따옴표( ' ) 넣는 법 큰따옴표(" ")로 문자열 감싸기 "Hell'o"
결과 >>> Hell'o
큰따옴표( " ) 넣는 법 작은따옴표(' ')로 문자열 감싸기 'Hell"o'
결과 >>> Hell"o
둘다 넣는 법 백슬래시(\)를 넣을 작은(큰)따옴표 앞에 붙이기 "Hell\"o"
결과 >>> Hell"o

문자열 안에 여러줄 넣는 방법(줄바꿈 효과 넣는법)

방법 예시
\n 삽입하기 "Apple is Red\nWant you?"
결과 >>>
Apple is Red
Want you?
작은따옴표 3개( ''' ) '''
Apple is Red
Want you?
'''
결과 동일
큰따옴표 3개( """ )  """
Apple is Red
Want you?
"""
결과 동일

문자열 사용법 및 정리

항목 방법 예시
문자열 더해서 연결하기 덧셈 기호 ( + ) 사용 >>> a = "Apple"
>>> b = " is Red"
>>> a + b
Apple is Red
문자열 곱하기 곱셈 기호 ( * ) 사용 >>> a = "Apple"
>>> a * 3
AppleAppleApple
문자열 길이 구하기 len 함수 사용 >>> a = "Apple"
>>> len(a)
5

문자열 인덱싱 개념

인덱싱(indexing)이란 가리킨다라는 의미를 갖습니다. 

>>> a = "Apple is Red, Want you?"
>>> a
Apple is Red, Want you?
보기 좋게
A    p    p    l   e         i    s        R    e    d    ,
0    1    2    3   4    5    6    7    8   9    10   11   12  
-23 -22  -21  -20 -19  -18  -17  -16  -15 -14  -13  -12  -11  

      W   a   n   t      y   o   u   ?
13   14  15  16  17 18  19  20  21  22
-10  -9  -8  -7  -6 -5  -4  -3  -2  -1

>>> a[0]
'A'
>>> a[5]
' ' // (빈공간, 스페이스바)
>>> a[22]
'?'
>>> a[-1]
'?'
>>> a[-23]
'A'
>>> a[-0]
'A'

>>> a[0] + a[1] + a[2] + a[3] + a[4]
'Apple'
>>> a[0:5]  // a[시작번호 : 끝 번호 -1]
'Apple'
>>> a[6:10]
'is R'

>>> a[14:]
'Want you?'
>>> a[:12]
'Apple is Red'
>>> a[:]  // 전체 
'Apple is Red, Want you?'
>>> a[14:-5]    // a[시작 번호 : 끝 번호 -1 ] 
'Want'

문자열 포매팅 개념

포매팅이란 문자열 안에 특정 값을 삽입하는 방법이다.

예시) 

"현재 습도는 70% 입니다."

"현재 습도는 88% 입니다."

 

이와 같이 문자열에서 숫자만 바꿔줘야 할 경우가 있죠.

>>> "I eat %d apples." % 4
'I eat 4 apples.'
>>> "I eat %s apples." % "two"
'I eat two apples.'

>>> num = 5
>>> "I eat %d apples." % num
'I eat 5 apples.'

2개 이상의 값 넣기
>>> num = 5
>>> day = "one"
>>> "I ate %d apples. so I was happy for %s days." % (num, day)
'I ate 5 apples. so I was happy for one days.

문자열 포맷 코드

코드 설명
%s 문자열(string)
%c 문자 1개(character)
%d 정수
%f 실수
%o 8진수
%x 16진수
%% 리터럴 % ( 문자 '%' 자체 )

문자열 포캣 응용

>>> "%5s" % "hello"
'     hello'  // 공백 5개 후 hello 

>>> "%-5sMr.Lee" % "hello"
'hello     Mr.Lee'   // 공백 위치가 반대쪽도 가능

>>> "%0.3f" % 3.148492
'3.148'   // 실수 자릿수 설정

>>> "%10.3f" % 3.148492
'     3.148'   // 전체 길이 : 10, 소수점은 3자리까지

format 함수를 사용한 포매팅

>>> "I eat {0} apples." .format(5)
'I eat 5 apples.'

>>> "I eat {0} apples." .format("five")
'I eat five apples.'

>>> num = 5
>>> "I eat {0} apples." .format(num)
'I eat 5 apples.'

#2개 이상의 값 넣기
>>> num = 5
>>> day = "five"
>>> "I ate {0} apples. so I was happy for {1} days." .format(num, day)
'I ate 5 apples. so I was happy for five days.

#이름으로 넣기
>>> I ate {num} apples. so I was happy for [day] days." .format(num=5, day = 3)
'I ate 5 apples. so I was happy for 3 days.'

#혼용하여 넣기
>>> "I ate {0} apples. so I was happy for {day} days." .format( 5, day = 3 )
'I ate 5 apples. so I was happy for 3 days.'

format 함수에서 정렬

항목 예시
왼쪽 정렬 >>> "{0:<10}" .format("hello")
'hello     '
오른쪽 정렬 >>> "{0:>10}" .format("hello")
'     hello'
가운데 정렬 >>> "{0:^10}" .format("hello")
'   hello  '
공백 채우기 >>> "{0:@<10}" .format("hello")
'hello@@@@@'

format 함수에서 소수점 표현

>>> y = 3.148492
>>> "{0:0.3f}".format(y)
'3.148'

>>> y = 3.148492
>>> "{0:10.3f}" .format(y)
'     3.148'

>>> "{{ and }}" .format()
'{ and }'

f 문자열 포매팅

python 3.6 버전부터 f 문자열 포매팅을 사용할 수 있습니다.

(python 3.6 미만 버전은 사용 불가)

>>> name  = "홍길동"
>>> age = 25
>>> f'이름은 {name}이며, 나이는 {age}입니다.'
'이름은 홍길동이며, 나이는 25입니다.'

>>> age = 25
>>> f'지금은 {age}살이며, 작년엔 {age-1}살이였다.'
'지금은 25살이며, 작년엔 24살이였다.'

#딕셔너리 활용
>>> d = { 'name' : '홍길동', 'age' : 25 }
>>> f'이름은 {d["name"]}이며, 나이는 {d["age"]}입니다.'
'이름은 홍길동이며, 나이는 25입니다.'

#왼쪽 정렬
>>> f'{"hello":<10}'
'hello     '

#오른쪽 정렬
>>> f'{"hello":>10}'
'     hello'

#가운데 정렬
>>> f'{"hello":^10}'
'   hello  '

#공백 채우기
>>> f'{"hello":@<10}'
'hello@@@@@'

#소수점 표현
>>> y = 3.148492
>>> f'{y:0.3f}'
'3.148'
>>> f'{y:10.3f}'
'     3.148'

# {} 문자 표시
>>> f'{{ and }}'
'{ and }'

문자열 함수

>>> a = "Apple"

>>> a.count('p')
2
	- 문자열 내 문자 개수 세기임으로 Apple 내의 p 의 개수 돌려줌
    
>>> a.find('p')
1
	- 문자열 내 찾고자 하는 문자가 처음 나오는 위치를 반환. 없다면 -1 반환

>>> a.index('p')
1
	- 문자열 내 찾고자 하는 문자가 처음 나오는 위치를 반환. 없다면 오류 발생. find와의 차이점.
    
>>> "1".join('abcd')
'a1b1c1d'
	- abcd 각각 사이에 '@'를 삽입.
    
>>> "1".join(['a','b','c','d'])
'a1b1c1d'
	- 리스트에서도 사용가능
    
>>> a.upper()
'APPLE'
	- 소문자를 대문자로 바꿈
    
>>> a.lower()
'apple'
	- 대문자를 소문자로 바꿈
   
>>> b = "   hello   "
>>> b.lstrip()
'hello   '
	- 왼쪽 공백 지우기(lstrip). l은 left 의미
    
>>> b.rstrip()
'   hello'
	- 오른쪽 공백 지우기(rstrip). r은 right 의미

>>> b.strip()
'hello'
	- 양쪽 공백 지우기(strip)
    
>>> a.replace('p','O')
'Apple' -> 'AOOle'
	- 문자열 바꾸기
    
>>> c = "Manners Maketh Man"
>>> c.split()
['Manners' , 'Maketh' , 'Man']
	- 문자열 나누기(split). ()안에 아무 것도 넣지 않으면 공백을 기준으로 나눔.
    
>>> d = "q:w:e:r"
>>> d.split(':')
['q' , 'w' , 'e' , 'r']
	- 문자열 나누기(split). ()안에 ':'을 기준으로 나눔.
728x90

'파이썬' 카테고리의 다른 글

[파이썬] 데이터 타입(Data Type) 종류  (0) 2022.04.14
[파이썬] 튜플(Tuple) 메소드 모음  (0) 2022.04.14
[파이썬] 리스트 메소드 모음  (0) 2022.04.12
[파이썬] 문자열 메소드 모음  (0) 2022.04.11
[파이썬]파이썬 숫자형  (0) 2022.03.31
    '파이썬' 카테고리의 다른 글
    • [파이썬] 튜플(Tuple) 메소드 모음
    • [파이썬] 리스트 메소드 모음
    • [파이썬] 문자열 메소드 모음
    • [파이썬]파이썬 숫자형
    ThLee
    ThLee
    # 포트폴리오 https://thleewave.notion.site/ThLee-1fef9e057dbf40d5b7b851ab0abccf36?pvs=4 #Github - https://github.com/git-ThLee #IoT 스타트업 -Full-stack -2021.01~2021.07 -사용기술 : fluterr, arduino, node.js #코딩학원 강사 - 2019.11 ~ 진행중 - 언어 : python, 블록 코딩 - 플랫

    티스토리툴바