[파이썬] 7. 문자열1

2020. 7. 24. 10:00·Programming Langue/Python (파이썬)
728x90
반응형

문자열? 따옴표로 감싸져서 표현된 문자, 단어들의 묶음

 

어떤 문자든 문자 자체를 그대로 출력하지만,

따옴표로 감싸진 문자열에서 문자가 특별하게 인식되는 경우

  1. 따옴표 안에 같은 종류의 따옴표
  2. 이스케이프 스퀀스(Escape sequence)
  3. 문자열 포매팅

따옴표를 문자열로 표현하고 싶을 때

  1. 작은따옴표로 감싸기
  2. 큰따옴표로 감싸기
  3. 작은따옴표 세 개로 감싸기
  4. 큰따옴표 세 개로 감싸기
str1 = 'He said "I love you"'	#큰따옴표로 감싼 문자열 안에서 작은따옴표 사용가능
str2 = "It's so beautiful"	#작은따옴표로 감싼 문자열 안에서 큰따옴표 사용가능
str3 = """My name is "goorm" """
str4 = '''It's an apple'''
str5 = '''이스케이프 시퀀스를	#따옴표 세개 사용할 때 문장 내 엔터를 넣는 것이 가능
배워봅시다.'''

print(str1)
print(str2)
print(str3)
print(str4)
print(str5)

이스케이프 시퀀스 : 문자열에서 표현하기 어려운 특정 문자를 백슬래쉬(\)로 표현하는 것

\\(백슬래시), \'(작은 따옴표), \"(큰 따옴표), \n(엔터), \b(백스페이스,글자하나를 지움), \t(탭)

 

문자열 포메팅 : 사용자가 문자열의 포맷을 지정하는 것

#"서울의 12일 화요일 기온은 26도입니다." 문자열 출력하기
city = "seoul"
today = 12
day = "화요일"
temperature = 26

#정수형 temperature은 문자열과 덧셈 불가 -> str(문자열)로 형변환	
announcement = city + "의 " + str(today) + "일 " +day + " 기온은 " + str(temperature) + "도 입니다."

#1번 방법
print(city,"의",today,"일",day,"기온은",temperature,"도 입니다.")
#2번 방법
print(announcement)

위 예시의 코드 가독성을 높이기 위해 포매팅 이용

 %s  문자열(string)
 %c  문자 1개(character)
 %d  정수(integer)
 %f  실수(float)
 %x  16진수
 %%  %

 

#포매팅을 이용한 코드 수정
city = "seoul"
today = 12
day = "화요일"
temperature = 26
announcement = "%s의 %d일 %s 기온은 %d도 입니다." %(city, today, day, temperature)
	
print("%s의 %d일 %s 기온은 %d도 입니다." %(city, today, day, temperature)) #1번 방법
print(announcement) #2번 방법

문자열 뒤에 %을 시작으로 변숫값 작성, 앞쪽부터 차례대로 변숫값 대입

name = "goorm"
age = 25
height = 181.523456

print("저의 이름은 %s입니다." %name)

print("저는 %d살입니다." %25)
print("제 나이는 %d살입니다." %age)
print("제 나이는 %s살입니다." %age)	#문자열 포맷 코드를 사용하여 숫자형 표현 가능
					#숫자형 포맷 코드를 사용하여 문자열 표현 불가능
print("제 나이는 %f살입니다." %age)	#정수형을 실수형으로 포매팅 가능

print("저의 키는 %fcm입니다." %height)
print("저의 키는 %.2fcm입니다." %height)	#소수점 둘째자리까지 표현한다
print("저의 키는 %dcm입니다." %height)	#실수형을 정수형으로 포매팅 가능

print("저의 성은 '%c'입니다." %"남")

print("저의 나이는 16진수로 표현하면 %x, 8진수로 표현하면 %o입니다." %(age, age))
	
#'클로이'을 포함하여 8칸의 공간 발생 -> 공백 5칸 + 클로이 3칸
print("%8s %8d %8s" %("클로이", 6, "컴퓨터공학"))	#"%(폭)d" 오른쪽 정렬(왼쪽은 공백으로 채워짐)
print("%-8s %-8d %-8s" %("클로이", 6, "컴퓨터공학"))	# "%-(폭)d" 왼쪽정렬

 

format( ) 함수를 사용한 포매팅

"문자열.format(요소1, 요소2...)"

%d같은 포맷 대신에 "{인덱스값}"을 사용하여 format( ) 함수 안의 값을 순서 상관없이 사용

인덱스값 {0}은 format(요소1, 요소2, ...)일때 '요소 1'의 값을 받아 옴

name = "클로이"
age = 22
height = 160.234
print("저의 이름은 {2}입니다. 그리고 나이는 {1}살이고 키는 {0}cm입니다.".format(height, age, name))

format( ) 함수 내에서 변수를 선언하고 초기화하면 그 값을 "{변수명}" 형식으로 바로 받아올 수 있음

print("저의 이름은 {name}입니다. 그리고 나이는 {age}살이고 키는 {0}cm입니다.".format(161.23, 
height = 161.234, age = 22, name = "클로이"))		#{0}대신 {height}사용 가능

출력 폭 지정하기

""{인덱스값 or 변수 :(출력형식)}".format(요소)"

 출력 형식  설명  사용 예시
 (문자)<(폭)  폭만큼 확보한 공간에
 왼쪽 정렬
로 포매팅
 나머지를 문자(공백)로 채움
"{0:<10}".format(5)
"{0:0<10}".format(5)
"{0:x<10}".format(5)
 (문자)>(폭)  폭만큼 확보한 공간에
 오른쪽 정렬로 포매팅
 나머지를 문자(공백)로 채움
"{0:>10}".format(5)
"{0:0>10}".format(5)
"{0:x>10}".format(5)
 (문자)^(폭)  폭만큼 확보한 공간에
 가운데 정렬로 포매팅
 나머지를 문자(공백)로 채움
"{0:^10}".format(5)
"{0:0^10}".format(5)
"{0:x^10}".format(5)
print("{length: >10d}".format(length = 30))
# 공백문자: (공백) ,정렬: 오른쪽 정렬, 폭: 10
# 순서대로 입력해야하고 생략 가능

print("{0:0^10}".format("goorm"))
# 공백문자: 0 ,정렬: 가운데 정렬, 폭: 10
# 순서대로 입력해야하고 생략 가능

print("{height:!>13.2f}".format(height = 181.24363))
# 공백문자: ! ,정렬: 오른쪽 정렬, 폭: 13, 소수점 2자리 표시
# 순서대로 입력해야하고 생략 가능

 

f 문자열 포매팅(f-string)

포맷 코드는 그대로 '{ }'를 사용하고 문자열 앞에 f만 붙여 사용

name = "클로이"
age = 22
height = 160.234
print(f"저의 이름은 {name}입니다. 그리고 나이는 {age+10}살이고 키는 {height:!^10.2f}cm입니다.")

다음 글 보기 :

2020/07/27 - [Programming Langue/Python (파이썬)] - [파이썬] 8. 문자열2

 

[파이썬] 8. 문자열2

문자열 연산 문자열의 덧셈 연산 : "문자열 + 문자열" 문자열의 곱셈 연산 : "문자열 * 정수" str1 = "Hello " str2 = "World!" num = 5 result1 = str1 + str2 result2 = str1 * num print(result1) print(result..

playpray4me.tistory.com

이전 글 보기 :

2020/07/22 - [Programming Langue/Python (파이썬)] - [파이썬] 6. 연산자2 (비트 연산자)

 

[파이썬] 6. 연산자2 (비트 연산자)

컴퓨터는 1과 0으로 이뤄진 2진수 비트만 이해할 수 있기 때문에 모든 데이터를 2진수로 변환하여 저장한 뒤 연산한다. 비트에 대해 안다면 코드를 좀 더 효율적으로 짤 수 있기 때문에 알아둔다�

playpray4me.tistory.com

해당 게시글은 구름EDU(https://edu.goorm.io)의 <한 눈에 끝내는 파이썬3> 강좌를 참고하여 작성되었으며 모든 저작권은 구름에 있습니다.

'Programming Langue > Python (파이썬)' 카테고리의 다른 글

[파이썬] 9. 리스트1  (0) 2020.07.30
[파이썬] 8. 문자열2  (0) 2020.07.27
[파이썬] 6. 연산자2 (비트 연산자)  (0) 2020.07.22
[파이썬] 5. 연산자1 (수식, 할당, 논리, 관계)  (0) 2020.07.20
[파이썬] 4. 자료형  (0) 2020.07.17
'Programming Langue/Python (파이썬)' 카테고리의 다른 글
  • [파이썬] 9. 리스트1
  • [파이썬] 8. 문자열2
  • [파이썬] 6. 연산자2 (비트 연산자)
  • [파이썬] 5. 연산자1 (수식, 할당, 논리, 관계)
깜냠미
깜냠미
it 블로그입니다.
  • 깜냠미
    PLAY WORLD
    깜냠미
  • 글쓰기 관리
  • 전체
    오늘
    어제
    • 분류 전체보기 (157)
      • Programming Langue (24)
        • Python (파이썬) (19)
        • Typescript (타입스크립트) (1)
        • Javascript (자바스크립트) (4)
      • Algorithm (114)
        • Baekjoon (백준) (106)
        • Programmers (프로그래머스) (8)
      • ETC (9)
        • Tool (5)
        • DataBase (2)
        • Git || GitHub (1)
        • 번역글 (1)
      • WEB (8)
        • 기초 (0)
        • React (5)
        • NextJS (0)
      • 일상 (2)
        • 정보 (1)
        • 구경 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    백준 자바
    파이썬
    백준
    백준 1차원배열
    백준 3단계
    문자열
    Python
    백준 1단계
    백준 7단계
    백준 파이썬
  • 최근 댓글

  • 최근 글

  • 반응형
    250x250
  • hELLO· Designed By정상우.v4.10.3
깜냠미
[파이썬] 7. 문자열1
상단으로

티스토리툴바