Python/자료형

[Python] 문자열

HeoN97 2022. 2. 5. 17:17

1. 문자열

    - 문자열(String)은 문자, 단어 등으로 구성된 문자들의 집합을 의미한다.

    - 문자열을 표현할 때는 다음과 같이 표현한다.

 

 

1) 큰 따옴표로 양쪽 감싸기

"Hello"

2) 작은따옴표로 양쪽 감싸기

'Hello'

3) 큰 따옴표 3개로 양쪽 감싸기

"""Hello"""

4) 작은 따옴표 3개로 양쪽 감싸기

print('''Hello''')

 

※ 작은따옴표 3개

    - 파이썬에서 작은따옴표 3개(''' ''')는 문자열 표현이 아닌 여러 줄을 한꺼번에 주석 처리할 때 사용된다.

    - # 은 한 줄 주석 처리

# 한 줄 주석처리

''' 
여러 줄
주석처리
'''

 

 

2. 이스케이프 코드(Escape Code)

    - 프로그래밍할 때 사용할 수 있도록 미리 정의해 둔 '문자 조합'

    - 키보드 Enter위의  \(백슬래쉬)와 함께 사용된다.

 

①  \n

    - 줄 바꿈 할 때 사용된다. (개행 문자)

print('Hi\nJason')
>>> Hi
    Jason

②  \t

    - 문자열 사이에 탭 간격을 줄 때 사용된다.

print('Hi\tJason')
print('Hi      Jason')
>>> Hi      Jason
>>> Hi      Jason

③  \\

    - 문자 '\'을 그대로 표현한다.

print('\\')
>>> \

④  \'

    - 문자 ' 을 그대로 표현한다.

print("\'")
>>> '

⑤  \"

    - 문자 " 을 그대로 표현한다.

print('\"')
>>> "

⑥  \r

    - 앞의 문자를 뒤의 문자로 대체한다.

    - 공백도 포함한다.

print('HELLO\rAB')
print('HELLO\r AB')
>>> ABLLO
>>>  ABLO

⑦  \f

    - 앞의 문자의 길이만큼을 들여 쓰기 하고 줄 바꿈 한다.

print('Hi\fJason')
>>> Hi
      Jason

⑧  \b

    - 문자열의 사이에서 \b 앞의 한 글자를 삭제하고 이어 붙인다.

    - 문자열의 마지막에서는 작용하지 않는다.

print('He\bllo')
print('Hello\b')
>>> Hllo
>>> Hello

⑨  \000

    - 'NULL'값을 의미한다.

print('\000')
>>>

 

 

3. 문자열 포매팅

-  문자열의 특정 부분에 원하는 값을 대입하기 위해서 사용한다.

 

① 포맷 코드

%s String  문자열
%c Character  문자 하나
%d Decimal  정수
%f Float  실수
%b Binary  2진수
%o Octal  8진수
%x Hexadecimal  16진수

 

 

4. 문자열 표현 방법

 

① % 포맷 코드 

print("I feel %s" % "good")
print("%c feel %s" % ("I", "good"))
>>> I feel good
>>> I feel good

② format 함수 ( .format() )

print("I {} it!" .format("made"))
print("I {0} {1}!" .format("made", "it"))
print("I {x} it!" .format(x = "made"))
>>> I made it!
>>> I made it!
>>> I made it!

③ f 문자열 ( f" " )

print(f"{'I'} can handle it")

a = 'can'
print(f"I {a} handle it")
>>> I can handle it
>>> I can handle it

 

 

5. 문자열 정렬

 

① % 포맷 코드 정렬

a = 'Apple'
print('0123456789')
print('%10s' % a)   # 길이가 10인 자리에서 오른쪽 정렬
print('%-10s' % a)  # 길이가 10인 자리에서 왼쪽 정렬

>>> 0123456789
>>>      Apple
>>> Apple

② format 함수 정렬

a = 'Apple'
print('01234567890')
				# { 0 : () 차지할 공간 }
print('{0:<11}' .format(a))     # 11칸 확보 후 왼쪽 정렬 ( < )
print('{0:^11}' .format(a))     # 11칸 확보 후 가운데 정렬 ( ^ )
print('{0:>11}' .format(a))     # 11칸 확보 후 오른쪽 정렬 ( > )
print('{0:-^11}' .format(a))    
# 11칸 확보 후 가운데 정렬 후 공백 '-'로 채우기 ( -^ )

>>> 01234567890
>>> Apple
>>>    Apple
>>>       Apple
>>> ---Apple---

③ f 문자열

a = 'Apple'
print('01234567890')
			# { "문자열" : () 차지할 공간 }
print(f'{a:<11}')   	# 11칸 확보 후 왼쪽 정렬( < )
print(f'{a:^11}')   	# 11칸 확보 후 가운데 정렬( ^ )
print(f'{a:>11}')   	# 11칸 확보 후 오른쪽 정렬( > )
print(f'{a:-^11}')  	
# 11칸 확보 후 가운데 정렬 후 공백 '-'로 채우기 ( -^ )

>>> 01234567890
>>> Apple
>>>    Apple
>>>       Apple
>>> ---Apple---

 

 

6. 문자열 소수점 표현

 

기본 표현

    - 소수점 이하 6자리를 표현한다.

    - 6자리를 넘어갈 경우 반올림을 한다.

a = 3.1415926

print("%f" % a)             # % 포맷코드
print("{0:f}" .format(a))   # .format
print(f"{a:f}")             # f""

>>> 3.141593
>>> 3.141593
>>> 3.141593

② 소수점 조절 방법

   - 사용자 임의로 소수점 이하 자릿수를 표현할 수 있다.

 

    1) % 포맷 코드

        - % 와 f 사이에 원하는 자릿수 표현 ( % ˇ f )

a = 3.1415926

print("%0.2f" % a)             
print("%.2f" % a)

>>> 3.14
>>> 3.14

        - 정렬 + 소수점 자릿수 조절도 가능하다.

a = 3.1415926
print("%10.2f" % a)		# % (오른쪽 정렬).(소수점 이하 자릿수)f
>>>       3.14

 

    2) format 함수

        - % 와 f 사이에 원하는 자릿수 표현 ( { 0 : % ˇ f } )

a = 3.1415926

print("{0:.2f}" .format(a))
print("{0:0.2f}" .format(a))
print("{0:10.2f}" .format(a))   # { 0 : (오른쪽 정렬) . (소수점 이하 자릿수) f }

>>> 3.14
>>> 3.14
>>>       3.14

 

    3) f 문자열

        - 숫자 뒤에 원하는 자릿수 표현 ( { "숫자" :  ˇ  } )

a = 3.1415926

print(f"{a:0.3}")
print(f"{a:0.2f}")
print(f"{a:10.3}")
print(f"{a:10.2f}")   # { "숫자 : (오른쪽 정렬) . (소수점 이하 자릿수)" }

>>> 3.14
>>> 3.14
>>>       3.14
>>>       3.14