일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 백준
- 파이썬
- 프로그래머스
- docker
- Python
- 전산기초
- 자료구조 및 실습
- MySQL
- 2단계
- 머신러닝
- 1단계
- Object detection
- SWEA
- ubuntu
- AWS
- 이것이 코딩테스트다 with 파이썬
- 실전알고리즘
- CS231n
- 그리디
- C++
- cs
- STL
- pytorch
- 딥러닝
- 구현
- ssd
- test-helper
- 3단계
- 모두를 위한 딥러닝 강좌 시즌1
- 코드수행
- Today
- Total
곰퓨타의 SW 이야기
[python] 문자열 포매팅 뿌시기! 본문
문자열에 대한 정리 마지막으로 포매팅을 해보고자 한다..!
이는 코테에서 사용할 지는 잘 모르겠지만 C언어에서 %d는 정수출력, %c,%s는 문자출력을 담당했던것과 같이 파이썬만의 것 또한 익혀보고 싶기 때문에 가져오게 된 주제이다.
역시 이번 글도 내 기준 이해가 제일 잘되는 점프 투 파이썬❣️을 많이 참고하였다.
위키독스
온라인 책을 제작 공유하는 플랫폼 서비스
wikidocs.net
문자열 포매팅
문자열 포맷코드
이 포맷코드들 중 가장 신기한 것은 %s 인데 , 이것은 사실 뒤에 오는 것에 맞추어 변환해 넣을 수 있도록 해준다..!
(역시 파이썬...너무 똑똑하다 ....👀)
문자열 포매팅 따라하기
1. 숫자 바로 대입
>>> "I eat %d apples." % 3
'I eat 3 apples.'
2. 문자열 바로 대입
>>> "I eat %s apples." % "five"
'I eat five apples.'
3. 숫자 값을 나타내는 변수로 대입
>>> number = 3
>>> "I eat %d apples." % number
'I eat 3 apples.'
4. 2개 이상 값 넣기
>>> number = 10
>>> day = "three"
>>> "I ate %d apples. so I was sick for %s days." % (number, day)
'I ate 10 apples. so I was sick for three days.'
포맷코드와 숫자를 함께 이용하기
1. 정렬과 공백
# 오른쪽 정렬
>>> "%10s" % "hi"
' hi'
# 왼쪽 정렬
>>> "%-10sjane." % 'hi'
'hi jane.'
2. 소수점 표현하기
# 소수점 넷째자리까지 표현하고 싶은 경우
>>> "%0.4f" % 3.42134234
'3.4213'
# 전체 길이가 10개인 문자열 공간에서 오른쪽으로 정렬하고 소수점 넷째자리까지 표현하고 싶은 경우
>>> "%10.4f" % 3.42134234
' 3.4213'
format함수를 사용한 포매팅
문자열 포매팅 따라하기에 있었던 것을 format함수로 표현하면 다음과 같다.
1. 숫자 바로 대입
>>> "I eat {0} apples".format(3)
'I eat 3 apples'
2. 문자열 바로 대입
>>> "I eat {0} apples".format("five")
'I eat five apples'
3. 숫자 값을 나타내는 변수로 대입
>>> number = 3
>>> "I eat {0} apples".format(number)
'I eat 3 apples'
4. 2개 이상의 값 넣기
>>> number = 10
>>> day = "three"
>>> "I ate {0} apples. so I was sick for {1} days.".format(number, day)
'I ate 10 apples. so I was sick for three days.'
다음은 새롭게 format으로 더할 수 있는 기능이다.
....이거이거 정말 신기한 것 같다..
1. 이름으로 넣기
1. 이름으로 넣기
>>> "I ate {number} apples. so I was sick for {day} days.".format(number=10, day=3)
'I ate 10 apples. so I was sick for 3 days.'
2. 인덱스와 이름을 혼용해서 넣기
>>> "I ate {0} apples. so I was sick for {day} days.".format(10, day=3)
'I ate 10 apples. so I was sick for 3 days.'
2. 정렬
1. 왼쪽 정렬
>>> "{0:<10}".format("hi")
'hi '
2. 오른쪽 정렬
>>> "{0:>10}".format("hi")
' hi'
3. 가운데 정렬
>>> "{0:^10}".format("hi")
' hi '
3. 공백 채우기
문자열 정렬 시 무엇으로 채울지 표현이 가능하다.
{0:=^10}은 ^가 가운데 정렬을 의미하므로 가운데 정렬을 하되, =로 빈공간을 채운다는 의미이다.
{0:!<10}은 <가 왼쪽 정렬을 의미하므로 왼쪽 정렬을 하되, !로 빈공간을 채운다는 의미이다.
>>> "{0:=^10}".format("hi")
'====hi===='
>>> "{0:!<10}".format("hi")
'hi!!!!!!!!'
4. 소수점 표현하기
{0:0.4f} 의 의미는 0 번째 인덱스에는 0.4f의 형태로 표현한다. 0.4f는 소수점 넷째자리까지만 표현하는 방법이므로, y를 이러한 방법으로 나타내라. 라는 의미인 것 같다.
{0:10.4f}의 의미는 0번째 인덱스에는 10.4f의 형태로 표현한다. 10.4f는 자릿수로 10자리로 맞추고 오른쪽 정렬을 하되, 소수점 넷째자리까지만 표현하는 방법이므로, 이 방법으로 y를 나타내라. 라는 뜻인 것 같다.
>>> y = 3.42134234
>>> "{0:0.4f}".format(y)
'3.4213'
>>> "{0:10.4f}".format(y)
' 3.4213'
5. { 또는 } 문자 표현하기
{{ }} 처럼 2개를 사용하면 된다!
>>> "{{ and }}".format()
'{ and }'
f 문자열 포매팅 (3.6 이상의 버전)
f 접두사를 작성하면 format과 같은 기능을 수행할 수 있다.
name,age 변수 값을 생성하고 이 값을 참조하는 것이다.
>>> name = '홍길동'
>>> age = 30
>>> f'나의 이름은 {name}입니다. 나이는 {age}입니다.'
'나의 이름은 홍길동입니다. 나이는 30입니다.'
문자열 안에서 변수의 +,- 수식을 사용할 수 있다.
>>> age = 30
>>> f'나는 내년이면 {age+1}살이 된다.'
'나는 내년이면 31살이 된다.'
딕셔너리의 Key값을 통해 value에 접근이 가능하다.
>>> d = {'name':'홍길동', 'age':30}
>>> f'나의 이름은 {d["name"]}입니다. 나이는 {d["age"]}입니다.'
'나의 이름은 홍길동입니다. 나이는 30입니다.'
정렬
>>> f'{"hi":<10}' # 왼쪽 정렬
'hi '
>>> f'{"hi":>10}' # 오른쪽 정렬
' hi'
>>> f'{"hi":^10}' # 가운데 정렬
' hi '
공백 채우기
>>> f'{"hi":=^10}' # 가운데 정렬하고 '=' 문자로 공백 채우기
'====hi===='
>>> f'{"hi":!<10}' # 왼쪽 정렬하고 '!' 문자로 공백 채우기
'hi!!!!!!!!'
소수점 표현
>>> y = 3.42134234
>>> f'{y:0.4f}' # 소수점 4자리까지만 표현
'3.4213'
>>> f'{y:10.4f}' # 소수점 4자리까지 표현하고 총 자리수를 10으로 맞춤
' 3.4213'
{} 사용
>>> f'{{ and }}'
'{ and }'
이제 문자열은 뿌셨으므로, 그동안 블로그에 작성하였던 글들을 총 복습하는 시간을 가져보아야 겠다..⭐️
(아직 파이썬 새내기로, 파이썬을 가지고 코테에 덤비기 시작해서 보게 된 코딩테스트가 얼마 남지 않았기 때문이다..둑흔둑흔❣️)
'TIL > 코테개념_python' 카테고리의 다른 글
[python] 튜플 자료형 뿌시기 (0) | 2021.01.06 |
---|---|
[python] 리스트 자료형 뿌시기 (0) | 2021.01.06 |
[python] 문자열 연산 및 인덱싱, 슬라이싱 뿌시기 (0) | 2021.01.03 |
[python] 진수변환 뿌시기 🔥 (0) | 2021.01.03 |
[python] 문자열 함수 뿌시기 🔥 (0) | 2021.01.03 |