포매팅이 내용이 많아 파트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']