인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

김도영님의 프로필 이미지

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

문자열 슬라이싱 마스터하기

내장 메서드와 슬라이싱의 출력 형태 (따옴표의 차이)

해결된 질문

작성

·

41

0

안녕하세요 선생님, 수업 잘 듣고 있습니다.

 

내장 타입과 메서드 강의 자료와 문자열 슬라이싱 마스터하기 강의 자료에 대한 질문입니다.

 

(1) 내장 메서드를 이용한 출력의 경우

s = "Hello, World!"

에 대한 print(s.lower()) 이 'hello, world!'

그리고 print(s.upper()) 이 'HELLO, WORLD!'

이런 식으로 작은 따옴표가 붙어서 출력되는데

 

(2) 사전 형태의 메서드의 경우에서는 왜

my_dict = {"name" : "WeekendCode" (이하 생략)}

의 print(my_dict.get("job", "Not Found")) 가 그냥 Not Found 이렇게 따옴표가 없이 출력되는지 궁금합니다.

 

(3) 반면 문자열 슬라이싱에서는 기본 예제에서는 주석으로 출력형이 'Hello' 이런식으로 달려있습니다만, 음수 인덱스의 출력값에는 World 이런식으로 쓰여있는데 따옴표가 있는 형태와 없는 형태 둘 중 어느 것이 정답인지 궁금합니다.

 

시험에 나온다고 생각했을때

  • 내장 메서드를 이용한 출력은 출력값에 따옴표를 붙이고

  • 사전 형태의 메서드에서 내장 메서드를 사용해 키 또는 값등을 불러올때는 출력값에 따옴표를 붙이지 않으며

  • 문자열 슬라이싱을 하는 경우에는 출력값에 따옴표를 붙이지 않는다

 

이렇게 생각하면 될까요?

늘 좋은 강의에 감사드립니다.

 

 

답변 2

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

제가 주석에 따옴표 달아놓은 것은 실제 출력문이 아닙니다.

콘솔에서 실제로 출력될 때도 따옴표 안 붙습니다.

 

예를 들어서

s = "Hello, World!"
print(s.lower())  # 'hello, world!'
print(s.upper())  # 'HELLO, WORLD!'

이 코드 실행시키면

 

image.png

이렇게 나옵니다.

 

실제 출력에 따옴표가 나오는 것은 실제로 문자열 자체 안에 따옴표가 들어가지 않는 한 쓰시면 안됩니다. 저는 그저 문자열이라는 의미로 넣은 것입니다.

 

아래처럼 명시적으로 따옴표를 출력하고 싶게 하면 얘기가 달라집니다.

s = "'Hello, World!'"
print(s.lower())
print(s.upper())

출력:

'hello, world!'

'HELLO, WORLD!'

 

 

이 경우에는 애초에 작은 따옴표를 출력하기 위해서 문자열로 표현한 것입니다.

이런 경우를 제외하고는 실제 출력문에 문자열이라고 따옴표가 나오지는 않습니다.

 

그저 문자열을 표기하고 싶어서 주석 표기 해놓은 것으로 이해하시면 됩니다.

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 김도영님.

강의 내용과 관련하여 내장 메서드와 출력 형태에 대해 궁금한 점이 있으시군요. 출력값의 따옴표 여부에 관한 혼란을 겪고 계신 것 같습니다. 유사한 질문 사례들을 통해 답변을 드리겠습니다.

  1. 내장 메서드를 이용한 출력에서 작은 따옴표가 표시되는 이유:

    • 이것은 주로 개발 환경의 출력 형식에 따라 다를 수 있습니다. 대부분의 개발 환경에서 문자열을 출력할 때 따옴표 없이 화면에 보이나, 특정 환경에서는 문자열의 특성을 명시적으로 표현하기 위해 따옴표가 포함되기도 합니다. 실제로 문자열 자체는 따옴표 없이 존재하지만, 표현방식에 따라 다르게 보일 수 있습니다.
  2. 사전 형태의 메서드에서 따옴표가 없는 이유:

    • dict.get() 메서드를 사용하여 값을 얻으면, 해당 값이 문자열이라 하더라도 일반적으로 따옴표 없이 출력됩니다. 이는 파이썬의 기본 동작으로, 사용자가 요구한 데이터의 실제 값만 반환합니다.
  3. 문자열 슬라이싱에서 따옴표 존재 여부:

    • 슬라이싱 결과 또한 따옴표 없이 결과가 출력됩니다. 강의에서 주석으로 표현된 내용이 ‘문자열 그 자체’를 설명하기 위해 따옴표를 포함한 것일 수 있습니다.

언급하신 내용대로, 일반적으로 시험이나 코드 내에서 따옴표 사용 여부는 코딩 환경이나 출력 형식에 따른 것이므로 크게 신경 쓰실 필요는 없습니다. 중요한 것은 해당 출력을 정확히 이해하고, 예상 출력과 비교해 맞는지 여부입니다.

관련된 유사한 질문과 답변 예시는 다음과 같습니다:
- Join 내장타입 설명
- 기본적인거 질문

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.