상세 컨텐츠

본문 제목

[PYTHON] (기초) 문자열 출력, 이스케이프 코드, join 정리

Python

by ollive 2024. 7. 10. 16:58

본문

문자열 출력하기 

먼저 문자열 입력은 아래와 같은 방식으로 받을 수 있다.

  • .input() : 사용자에게서 인수를 입력받아 사용하는 매서드이다. 입력하는 인수가 a와 b에 입력된다.
  • .strip() : 문자열의 양 옆 공백제거 (.lstrip()과 .rstrip()은 각각 문자열의 왼쪽/오른쪽 공백 제거로 사용함)
  • .split() : ()안에 형식으로 문자열을 구분한다. 아래식에서는 공백을 기준으로 두 문자를 구분한다.
a, b = input().strip().split(' ')

 

  • 문자열 그대로 출력하기
  • 위에서 입력받은 수를 출력할 때는 print()를 사용해주면 된다. (a와 b에 각각 1, 2를 넣었다고 가정한다.)
print(a)                                           # 출력 a = 1
print('a =',a)                                     # 출력 a = 1

# f-string으로 f'추출할 문자열'로 사용하여 문자열을 그대로 출력함 {매게변수}를 사용하여 입력된 인수 출력가능
print(f'b = {b}')                                  # 출력 b = 2

# \n(이스케이프 코드)를 사용하면 출력할 문자열 내에서 줄 바꿈이 가능하다.
print(f'a = {a}\nb = {b}')                         # 출력 a = 1 
						  #      b = 2

#.format()으로 순서 지정하기                           # f-string과 함께 사용불가
print("a = {}\nb = {}".format(a, b))               # 출력 a = 1
					          #      b = 2

- print의 괄호 안에 '와 "는 어떤 것을 써도 상관 없다. 출력결과는 아래와 같다.

 

  • 문자열은 연산이 가능하다.
#str1 = '가나', str2 = '다라', n = 3이라고 가정

#더하기
str1, str2 = input().strip().split(' ')
print(str1+str2)                        # 출력 가나다라      두 변수를 더하여 이어줌

#곱하기(n은 자연수라고 가정함)
str1, n = input().strip().split(' ')
n = int(n)
print(str1*n)                           # 출력 가나가나가나   str변수를 n번 출력
# sep=" " 따옴표 사이의 구분자로 문자열을 분리하는데 아래는 공백을 없애는데 활용한 식이다.
str1, str2 = input().strip().split(' ')
print(str1, str2, sep='')                   # 출력 가나 다라 => 가나다라

#input을 수행하고 strip으로 인수를 받되, 사이 간격을 replace로 공백없이 조정도 가능핟. 
print(input().strip().replace(' ', ''))     # 출력 가나 다라 => 가나다라

#.join() 사용
str1, str2 = input().strip().split(' ')
print("".join([str1, str2]))                # 출력 가나 다라 => 가나다라

#.join() 사용
print(''.join(input().strip().split(' ')))  # 출력 가나 다라 => 가나다라
  • 대문자와 소문자를 바꿔서 출력할 수 있다.
# 입력 받은 문자열이 str = "aBc De" 읻때

str.upper()          # 출력 : "ABC DE"  대문자로 변환하여 출력
str.lower()          # 출력 : "abc de"  소문자로 변환하여 출력
str.caplitalize()    # 출력 : "Abc de"  첫 글자만 대문자로 출력
str.title()          # 출력 : "Abe De"  각 단어의 첫 문자만 대문자로 출력
str.swapcase()       # 출력 : "AbC dE"  대문자와 소문자의 입력을 바꿔서 출력

 

# 코드 1 .swapcase() 사용
print(input().swapcase())

# 코드 2 문자를 하나씩 추출하여(for) 소문자인지 따져서(if 조건) 대소문자를 변환하여 pp(='')에 넣어줌
str = input()
pp = ''
for i in str:
    if i.islower():
        pp += i.upper()
    else:
        pp += i.lower()
print (pp)

 

  • 특수문자 출력하기
# ' 나 " 출력하기
print("'")              # 출력 '        작은따옴표 출력은 큰따옴표를, 큰따옴표 출력은 작은 따옴표 사용
print('''hyeon's''')    # 출력 hyeon's  따옴표 3개를 연달아서 사용하여 같은 따옴표의 구분 가능
print('"\\"')           # 출력 "\"      ₩는 2번 반복하여 작성(이스케이프 코드 참고)
print(r'!(\'"<>;')      # 출력 !(\'"<>; (r'추출할문자')를 사용, 이때는 ₩₩를 사용하지 않는다
  • 문자열 하나씩 출력하기
# for 문 이용
str = input()
for i in str:               #str에 담긴 문자열에서 한글자씩 i에 투입되고 print 됨
    print(i)
    
#.join() 사용
print('\n'.join(input()))   # 출력하라 (\n으로 줄을 바꾸며 합쳐진(join) 입력값(input)을)

 


2. map(함수, 리스트  or 튜플)

리스트나 튜플의 여러 원소들에 함수를 적용 해준다.

 

a, b = input().split()
print(type(a))              # 출력 <class 'str'>

a, b = map(int, input().split())
print(type(a))              # 출력 <class 'int'>

 

3. 이스케이프 코드

\n 문자열 안에서 줄바꿈
\t 문자열 사이에 텝 간격 넣기
\\ \(백슬래쉬)를 그대로 표현
\' '을 그대로 표현
\" "을 그대로 표현
\r 캐리지 리턴(커서를 현재줄의 가장 앞으로 이동)
\f 캐리지 리턴(커서를 현재줄의 다음 줄로 이동)
\a 벨 소리
\b 백스페이스
\000 널 문자

 


4. " ".join() 사용법

  • join을 사용하면 문자열을 합칠 수 있다.
colors = ['red','pink','blue','purple']
animals = ['rabbit','lion','cat']
age = ['26','37','48','48','65']                        #숫자를 따옴표로 감싸서 문자로 인식됨
score = {"name":"son","age":"32","game":"soccer"} 		#숫자를 따옴표로 감싸서 문자로 인식됨


print(''.join(colors))             # redpinkbluepurple
print(' '.join(animals))           # rabbit lion cat
print(' and '.join(animals))       # rabbit and lion and cat
print(', '.join(score))            # name, age, game
print('/'.join(score.values()))    # son/32/soccer
  • 숫자형일 경우 map을 이용하여 문자형으로 바꿔서 계산한다.
age = [26,49,73,26,84]
present = ["cake","perfume",50000]  

a= "".join(map(str, age))
print(a)
print('and '.join(map(present)))

'Python' 카테고리의 다른 글

[PYTHON] map, iterable  (0) 2024.07.17
python (기초) 연산  (0) 2024.07.12
[PYTHON] 프로그래머스 9 ~ 13번 풀이  (0) 2024.07.08
[PYTHON] 프로그래머스 1 ~8번 풀이  (0) 2024.07.04
[python 문법] 반복문(for, enumerate, break)  (0) 2024.06.25

관련글 더보기