Studio KimHippo :D

[Python / Pure Python] 1. 문자열 포매팅, 관련함수 본문

Python Study/Pure Python

[Python / Pure Python] 1. 문자열 포매팅, 관련함수

김작은하마 2019. 7. 8. 15:40

문자열 포매팅

# -*- coding : utf-8 -*-

print('I eat %s apples.' % 'five')
print('I eat %d apples.' % 3)

number = 7
day = 'three'
print('I eat %d apples.' % number)
print('I ate %d apples. so I was sick for %s days.' % (number, day))

print('Error is %d%%.' % 98)

# NOTE : 오른쪽 정렬
print('%10s' % 'hi')
# NOTE : 왼쪽 정렬
print('%-10s' % 'hi')

print('%s Jane' % 'hi')
print('%-10s Jane' % 'hi')

# NOTE : 소수점 표시
print('%10d' % 10)
print('%f' % 3.42134264)
print('%0.2f' % 3.42134264)
print('%10.4f' % 3.42134264)

print('I eat {0} apples.'.format(3))
print('I eat {0} apples.'.format('five'))
print('I eat {0} apples.'.format(number))
print('I ate {0} apples. so I was sick for {1} days.'.format(number, day))

print('I ate {number} apples. '\
      'so I was sick for {day} days.'.format(number = 10, day = 3))
print('I ate {0} apples. '\
      'so I was sick for {day} days.'.format(10, day = 3))

# NOTE : 왼쪽 정렬
print('{0:<10}'.format('hi'))
# NOTE : 오른쪽 정렬
print('{0:>10}'.format('hi'))
# NOTE : 가운데 정렬
print('{0:^10}'.format('hi'))
# NOTE : 공백 채우기
print('{0:*^10}'.format('hi'))
# NOTE : 소수점 표시
y = 3.42134234
print("{0:0.4f}".format(y))
print("{0:10.4f}".format(y))
print("{{ and }}".format())

# NOTE : f 문자열 포매팅 (Python >= 3.6)
name = '홍길동'; age = 30
print(f'나의 이름은 {name}입니다. 나이는 {age}입니다.')
print(f'나는 내년에는 {age + 1}살이 됩니다.')

# NOTE : 딕셔너리는 f 문자열 포매팅으로 사용할 수 있다.
dic = {'name' : '홍길동', 'age' : 30}
print(f'나의 이름은 {dic["name"]}입니다. 나이는 {dic["age"]}입니다.')

print(f'{"hi":<10}')
print(f'{"hi":>10}')
print(f'{"hi":^10}')
print(f'{"hi":=^10}')
print(f'{"hi":!<10}')

문자열 포맷 코드

%s : 문자열 (String)
%c : 문자 1개 (Character)
%d : 정수 (Integer)
%f : 부동 소수 (Floating-Point)
%o : 8진수 
%x : 16진수 
%% : 문자 %자체 

문자열 관련 함수

# NOTE : 특정 문자의 갯수를 세어줌.
a = 'hobby'
print('b의 개수는 %d개 입니다.'%a.count('b'))

# NOTE : 특정 문자의 인덱스를 알려줌.
a2 = 'Python is the best choice'
print('b는 {}번째 자리입니다.'.format(a2.find('b')))
print('k는 {}번째 자리입니다.'.format(a2.find('k')))
# NOTE : 문자열에 특정 문자가 없다면 -1을 반환함.
# print('k는 {}번째 자리입니다.'.format(a2.index('k'))) << 오류 발생.

# NOTE
# join : 문자열에 특정 문자를 삽입.
print(','.join('abcd'))
print(','.join(['a', 'b', 'c', 'd']))

# NOTE : 소문자를 대문자로.
print('hi'.upper())
# NOTE : 대문자를 소문자로.
print('HI'.lower())

# NOTE : 왼쪽 공백제거
print(f'{"hi":^10}'.lstrip())
# NOTE : 오른쪽 공백제거
print(f'{"hi":^10}'.rstrip())
# NOTE : 양쪽 공백제거
print(f'{"hi":^10}'.strip())

# NOTE : 특정 문자열 변경
print('Life is too short'.replace('Life', 'Your leg'))

# NOTE : 공백을 기준으로 문자열 나누기
a3 = "Life is too short"
print(a3.split())

# NOTE : :을 기준으로 문자열 나누기
a4 = 'a:b:c:d'
print(a4.split(':'))

 

참고

이지스퍼블리싱 박응용 저 - 점프 투 파이썬

Comments