문자열? 따옴표로 감싸져서 표현된 문자, 단어들의 묶음
어떤 문자든 문자 자체를 그대로 출력하지만,
따옴표로 감싸진 문자열에서 문자가 특별하게 인식되는 경우
- 따옴표 안에 같은 종류의 따옴표
- 이스케이프 스퀀스(Escape sequence)
- 문자열 포매팅
따옴표를 문자열로 표현하고 싶을 때
- 작은따옴표로 감싸기
- 큰따옴표로 감싸기
- 작은따옴표 세 개로 감싸기
- 큰따옴표 세 개로 감싸기
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 |