[Python] 문자열 포매팅 Part 2

David Kim·2022년 10월 23일
0

Python

목록 보기
4/11
post-thumbnail

포매팅이 내용이 많아 파트2로 나눠서 마저 기록하겠다.

이번에는 그럼 정렬을 시켜 보는것을 하려는데 저번에 배운거를 응용하는거라
어렵지 않으니 천천히 해보면 된다.

>>> "{0:<10}".foramt("left")
'left      '

그렇다면 반대인 오른쪽 정렬을 해보도록 하겠다.

>>> "{0:>10}".foramt("right")
'     right'

어렵게 생각 할 필요 없고 화살표 방향을 생각하면 된다. 그러면 가운데 정렬은?

>>> "{0:^10}".foramt("middle")
'  middle  '

쉽게쉽게 가운데는 그냥 ^ 요걸로

그럼 만약 빈공간이 보기 싫어 다른 문자로 채우고 싶다면??

>>> "{0:=^10}".foramt("middle")
'==middle=='
>>> "{0:!<10}".foramt("middle")
'middle!!!!'

채워야하는 문자 값은 정렬 문자 <, >, ^ 바로 앞에 넣어야 적용된다.

그 외에도 소수점을 빈공간을 채워 자릿수를 맞추는 방법이 있다.

>>> y = 3.141592
>>> "{0:0.4}".foramt(y)
'3.1415'
>>> "{0:10.4}".foramt(y)
'    3.1415'

근데 파이썬에서 { }를 포매팅 문자가 아니라 저 중괄호 자체를 사용하고
싶을 경우가 있을 수도 있다 그러면 어떻게 해야할까? 의외로 간단하다.
{{ }} 이런식으로 연속 두번하면 { } 포매팅 문자 안에 포함이 된다.

>>>"{{ and }}".format()
'{ and }'

자 그럼 이번에는 f문자열 포매팅을 한번 배워보도록 하자 어렵지 않고 되려
너무나 간단해서 쉽다

>>> name = 'David'
>>> age = 20
>>> f'나의 이름은 {name}입니다. 나이는 {age}입니다.'
'나의 이름은 David입니다. 나이는 20입니다.'

이런식으로 namve = value를 똑같이 대입하면 저렇게 나온다. 플러스
name, age 같은 변수 값을 생성한 후 그 값을 참조 할 수 있다.
이게 무슨 소리냐 하면 아래 같은 예시가 있겠다.

>>> age = 20
>>> f'나는 내년이면 {age+1}살 입니다.'
'나는 내년이면 21살 입니다.'

또한 딕셔너리 f문자열 포매팅은 이런식으로 사용이 가능하다

>>> d = {'name': 'David', 'age':20}
>>> f'나의 이름은 {d["name"]}입니다. 나이는 {d["age"]}입니다.'
'나의 이름은 David입니다. 나이는 20입니다.'

정렬은 그럼 f문자열은 어떻게 할까?

>>> f'{"hi":<10}'
'hi        '
>>> f'{"hi":>10}'
'        hi'
>>> f'{"hi":^10}'
'    hi    '

이번에는 공백채우기를 한번 해보도록 해보겠다.

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

그렇다면 소수점은 어떻게 표현 될까?

>>> y = 3.141592
>>> f'{y:0.4f}'
'3.1415'
>>> f'{y:10.4f}'
'   3.1415'

그럼 { }를 문자로 포함하고 싶으면?

>>> f'{{ and }}'
'{ and }'

그럼 이제 좀 중요한 문자열 관련 함수를 알아 보도록 하자.
문자열 자료형은 자체적 함수를 가지고 있는데 이것을 문자열 내장 함수
라고 부른다 이 내장 함수를 사용하려면 변수 이름 뒤에 '.'를 붙이고
함수 이름을 써주면 된다 그럼 그 종류를 알아보도록하자

문자열 세기(count)

>>> a = "apple"
>>> a.count('p')
2

위치 알려주기 1(find)

>>> a = "apple is the best"
>>> a.find('i')
7 _(i가 나온 문자열 위치)_
>>> a.find('k')
-1 _(k는 존재하지 않음으로 -1표기)_

위치 알려주기 2(index)

>>> a = "apple is the best"
>>> a.index('i')
7

문자열 삽입(join)

>>> ",".join('abcd')
'a,b,c,d'
>>> ",".join(['a','b','c','d'])
'a,b,c,d'

소문자를 대문자로 바꾸기(upper)

>>> a = "hi"
>>> a.upper()
'HI'

대문자를 소문자로 바꾸기(lower)

>>> a = "HI"
>>> a.lower()
'hi'

왼쪽 공백 지우기(lstrip)

>>> a = "hi"
>>> a.lstrip()
'hi '

오른쪽 공백 지우기(rstrip)

>>> a = "hi"
>>> a.rstrip()
' hi'

양쪽 공백 지우기(strip)

>>> a = "hi"
>>> a.strip()
'hi'

문자열 바꾸기(replace)

>>> a = "gimlet is my favorite"
>>> a.replace("gimlet", "negroni")
'negroni is my favorite'

문자열 나누기(split)

>>> a = "gimlet is my favorite"
>>> a.split() _(공백을 기준으로 문자열을 나눈다)_
['gimlet', 'is', 'my', 'favorite']
>>> b ="a:b:c:d"
>>> b.split(':') _(: 기호 기준으로 문자열 나누기)_
['a','b','c','d']
profile
people rarely succeed unless they have fun in what they are doing

0개의 댓글