클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

파이썬 프로그래밍의 기초, 자료형 8 - 문자열 자료형 6 : f 문자열 포매팅과 문자열 관련 함수 본문

프로그래밍 언어/파이썬

파이썬 프로그래밍의 기초, 자료형 8 - 문자열 자료형 6 : f 문자열 포매팅과 문자열 관련 함수

huenuri 2024. 9. 1. 12:05

이번에는 f 문자열 포매팅에 관해서 학습을 진행하려고 한다. 이 개념은 생긴지 얼마 되지 않았다고 한다. 일일이 순서를 맞추는 것이 불편해서 더욱 간단하게 사용할 수 있는 방법이다.


 

 

 

 

 

f 문자열 포매팅

f 접두사를 붙이면 f 문자열 포매팅을 할 수 있다.

 

 


 

 

 


 

 

 

 


 

 

 

 

문제도 스스로 잘 풀었다. 이제 format 함수와 f 문자열 포매팅의 차이점을 확실히 구별할 수 있을 것 같다.

 


 

 

 

 

 

문자열 관련 함수들

문자열 자료형은 자체적으로 함수를 가지고 있다. 이들 함수를 다른 말로 문자열 내장 함수라고 한다. 이 내장 함수를 사용하려면 문자열 변수 이름 뒤에 '.'를 붙인 후 함수 이름을 써주면 된다.

 

 


 

 

 

 

 

find와 다른 점은 find에서는 찾는 문자가 없으면 -1을 반환하는데, index에서는 바로 오류가 뜬다.

 


 

 

 


 

 

 


 

 

 


 

 

 

 

 

이 함수는 print를 찍으면 오류가 난다. 왜 그럴까?

 

 

  1. replace() 메소드 호출
    • a.replace("Life", "Your leg")는 "Life"를 "Your leg"로 대체한 새로운 문자열을 반환한다. 그러나 이 부분의 실행 결과는 변수에 할당되지 않고, 코드의 다음 줄에서 a.replace() 메소드를 호출하려고 한다.
  2. print(a.replace())의 오류
    • replace() 메소드는 두 개의 인자(바꿀 문자열과 대체할 문자열)를 필요로 하지만, print(a.replace())에서는 인자를 제공하지 않았습니다. 따라서 파이썬은 이 부분에서 TypeError를 발생시키며, "replace() takes at least 2 arguments (0 given)"이라는 오류 메시지를 출력하게 된다.

replace() 메소드의 사용 시 반드시 두 개의 인자를 제공해야 한다. print(a.replace())와 같이 인자를 제공하지 않으면 TypeError가 발생한다. 

 

 

변수에 담아주니 이제 print로 찍어도 오류가 발생하지 않는다.

 


 

 

 

문자열 함수에서 고려할 점은 아무리 replace, upper 등을 사용하여 출력을 해도 변수 값 자체가 변하는 것이 아니라는 것이다. 변경된 값을 리턴하는 것이다.


 

 

 

착각하기 쉬운 문자열 함수

 

소문자를 대문자로 바꾸었으나 출력을 해보면 변경되지 않았음을 볼 수 있다.


 

 

 

 

학습을 마치고

드디어 포매팅 함수 학습을 끝마쳤다. 그동안 문자열 함수를 수업 시간에 사용할 때 잘 몰랐는데 이 부분도 알게 되어 정말 좋았다. 벌써 아침 시간이 지났다.

오후에도 저녁에도 열심히 공부하면 분명 많은 것들을 공부할 수  있을 것 같다.