나 개발자 진짜 되냐?

1일차 파이썬 프로그래밍 기초_문자형편2 본문

파이썬을 시작했어요!

1일차 파이썬 프로그래밍 기초_문자형편2

Snow Rabbit 2022. 12. 12. 23:26

문자열 포매팅

 

이름도 특이한 포매팅

 

그냥 우리가 항상 c언어에서 썼던 방식이랑 비슷한 거 같아

 

출력할 때 %d를 썼던 거처럼 쓰는 거지

" 나는 %d시에 밥을 먹어" %8

이러면 8시가 저기에 입력되는 거지

 

문자열 대입도 마찬가지야

"나는 %s시에 밥을 먹어 " % "8시 반"

이럼 되는 거겠지!

왜 s 겠어!? 문자열이니깐!

 

숫자 값을 넣을 땐 변수에 숫자를 넣어서 해도 되긴 해

변수가 숫자면 d 문자면 s

 

2개 값을 넣어야 할 땐 어떻게 해야 할까?! 

괄호 안에 넣어주면 되긴 해

 

% ( ㅁㅁ , ㅇㅇ) 이렇게! 

 

여기에 %뒤에 들어오는 단어들은

c에서 했던 거랑 똑같아

c는 문자열 하나 

d는 정수

f는 실수

 

문자열은 s 

8진수 o

16진수 x

 

문자열이 약간 통용된다고 생각하면 될 거 같아

 

 

 

숫자와 코드(%) 활용하기

 

%s 사이에 10을 넣어서 길이가 10개인 문자열 공간을 만들고

hi를 오른쪽 끝에 배치한 것

 

그럼 반대로 -10일 땐?!

10칸 만들고 왼쪽에 배치하겠지

왼쪽에 배치 후 10칸을 쓰고 그 뒤에 단어를 적은 것이야!

 

소수점 표현하기

 

0.2828282828 같은 기이인 소수점을 딱 잘라버리고 싶을 땐?!

 

"%0.4f" % 0.28282828

0.2828만 나오게 되는 것이여..

 

"%10.4" % 0.282828

이렇게 될 경우에는 

10칸을 만들어두고 오른쪽에 채워 넣는 거지

'     0.2828' 이렇게 말이지이

 

 

format()

 

포매팅을 사용하는 함수도 있어

format ()이라는 함수

 

" 나는 {0} 시에 밥을 먹어 ".format(8)

그럼 저기 중괄호에 8이 들어가지

 

단어를 넣고 싶을 땐 

.format("8시반")

여기서 중괄호 {0}은 첫 번째를 의미해

숫자여서 0이고 그게 아니야

 

두 단어를 넣는다고 생각해볼까?

변수를 미리 선언해주고

그렇다면 {0} {1} 이렇게 자리를 비워둬야 하고

.format( ㅁㅁ, ㅇㅇ) 이렇게 사용해야 해

 

{} 중괄호 안에 변수를 적어놓고 

format 안에서 직접 변수를 선언해 줄 수도 있어

.format( ㅁㅁ = 8, ㅇㅇ = 30) 이렇게!

대신 중괄호에는 {ㅁㅁ} {ㅇㅇ}이 가능한 것이지

 

정렬

{0:<10} : 10칸 만들고 왼쪽에서부터 쓰기

{0:>10} : 10칸 만들고 오른쪽에서부터 쓰기

{0:^10}  : 10칸 만들고 가운데 정렬

 

공백 채우기

{0:=^10} : 10칸 만들고 그 사이에 ==쓰다가 글 쓰고 다시 ==

{0:!<10} : 10칸 만들고 왼쪽으로 정렬해서 쓴 후 그 뒤에는 다!! 쓰기

 

중괄호 쓰려면 중괄호를 두 개 쓰면 된다

{{ ㅇㅅㅇ }}

 

 

문자 개수 세기 ===> count

a = "happy"

a.count('p')      →     2

 

문자 위치 알려주기 ===> find & index

a = "happy christmas"

a.find('y')      →     4

a.find(x)      →     -1

 

 없으면 -1을 반환한다.

 

a.index('r')      →     8

a.index('x')      →     오류

 

 

문자열 삽입 ===> join

join  함수를 사용!

 

"," .join('abcd')       →     'a, b, c, d'

 

이건 이제 문자열에 넣은 거고

이렇게 리스트 형식이 있을 땐 

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

 

 

소문자를 대문자로 바꾸기 ===> upper

a = "happy"

a.upper()      →     'HAPPY'

 

대문자를 소문자로 바꾸기 ===> lower

a = "HAPPY"

a.lower()      →     'happy'

 

공백 지우기 ===> strip

a.lstrip()      >>>    왼쪽 공백 지우기

a.rstrip()      >>>    오른쪽 공백 지우기

a.strip()        >>>    양쪽 공백 지우기

 

문자열 바꾸기 ===> replace

a = "happy christmas"

a.replace("happy", "Marry")       →     marry christmas 

 

문자열 나누기 ===> split

a = "happy christmas"

a.split()      →      ['happy', 'christmas']

 

 괄호에 아무것도 안 넣으면 스페이스 엔터 같은 기준으로 문자열을 나눈다.

 

b = "a:b:c:d"

b.split(':')      →     ['a', 'b', 'c', 'd']

 

괄호에 적어두면 그거대로 나눠준다.

이렇게 나눈 값은 리스트 [] 여기 안에 넣어준다는데

 

리스트는 다음에 공부할 것이여.....