• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

큰 따옴표의 유무 차이

21.07.06 13:39 작성 조회수 170

0

print("우리집 " + animal + "의 이름은 " + name + "에요")

print(name + "는 " + str(age) + "살이며, " + hobby + "을 아주 좋아해요")

위 두문장에서 위의 문장은 맨앞에 "(큰따옴표)가 있고

아래문장에서는 없습니다. 하지만 아래문장도 출력되는데 문제가 없는 것같습니다. 그렇다면 큰따옴표의 유무에 대한차이와 큰따옴표의 역할에 대해 알려주시면 감사하겠습니다 ^,^

답변 2

·

답변을 작성해보세요.

1

김현중님의 프로필

김현중

2021.08.06

# 먼저 따옴표를 쓰는 이유는 print에서 문장을 출력할 내용을 따옴표 안에 쓰게 됩니다.

print("Hello") 하면 Hello 가 출력되는 것처럼 말이죠.

animal과 name은 변수이므로 일단 나중에 생각해보고,

print("우리집 강아지의 이름은 치치에요") 라고 한다면 ""내의 문장이 출력되겠죠.

------------------------------------------------------------------------------------------------

print("우리집 " + animal + "의 이름은 " + name + "에요")

--> 여기서 animal과 name은 변수이므로 따옴표를 쓰지 않습니다. 

하지만 우리집, 의 이름은, 에요 는 변수가 아닌 문자열이므로 따옴표를 써야 출력이 됩니다.

그 문자와 변수를 이어주는 것이 + 이구요.

즉 출력할 문자는 "" 를 붙히고, 변수에는 붙히지 않으며 출력할 문자와 변수를 이어주는 것은 + !

print(name + "는 " + str(age) + "살이며, " + hobby + "을 아주 좋아해요")

--> 여기서 name, age, hobby는 변수이므로 따옴표를 붙히지 않습니다.

하지만 는, 살이며, 을 아주 좋아해요는 문자열이므로 ""를 붙히는 겁니다.

재홍님의 프로필

재홍

2021.12.09

감사합니다. 이해가 잘 되네요.

0

나성현님의 프로필

나성현

2021.07.07

일단 name이랑 animal, age, hobby가 변수인 것 같고 해당 변수들이 print문 위쪽에 선언된 듯 싶네요.  만약 코드에 딱 저 두 문장밖에 없다면 출력되는데 문제가 생길거니까(직접 실행 돌려보고 얘기드림) 앞서 추측한 것처럼 이해해도 되겠지요?

큰 따옴표의 역할은  문자열을 나타낼 때 사용되요! 리터럴 개념을 아시나요? 리터럴은 문자 그대로의 값이에요. 예를 들면  age = 12  -> 이건 age 변수에 12를 넣는건데 여기서 12가 리터럴이 되요! age는 정수형 변수가 되겠네요.

마찬가지로  name = "조성우" 를 선언하면 "조성우" 가 문자열 리터럴이 되는거에요.

이제 큰따옴표의 역할은 아시겠죠? (문자열 리터럴 만들어주기)

참고로 파이썬에서는 작은따옴표도 큰따옴표랑 같은 역할을 해줘요!

이제 유무의 차이를 보죠.

만약 큰따옴표가 있다면 위에 언급한 것 처럼 "" 사이에 있는 모든 글자들을 문자열로 만들어 주겠지요.

근데 없다면? 오류가 뜰거에요! 

예를 들어 print("우리집 " + animal + "의 이름은 " + name + "에요") 를 아래처럼

print(우리집 + animal + 의 이름은 + name + 에요) 로 바꾸면 에러가 뜨지요.

왜냐하면 우리집 , 의 이름은 , 에요 같은 한글은 파이썬이든 자바든 어떤 명령어로도 설정 되어 있지 않기 때문에 이 글자들이 어떤 형태인지 반드시 표시를 해줘야 해요! 얘네는 당연히 문자열이니까 print 문 안에 있었던 것처럼 "" 사이에 존재하는게 맞겠죠!

print(name + "는 " + str(age) + "살이며, " + hobby + "을 아주 좋아해요")

그럼 이건 왜 오류가 안날까요?

만약 성우님이 name을 print 이전에 한번이라도 변수 선언 하지 않으셨다면 이 print문 또한 오류가 발생했을 거에요! 그렇지만 name = "조성우" 이런 형태로라도 선언 하셨기 때문에 name을 변수로  프로그램에서 인식하고 컴파일 실행이 된 것이에요!

참고로 변수는 데이터를 담을 수 있는 공간을 뜻해요.(변수는 값이 언제든지 변하게 할 수 있어요!)

이 정도면... 궁금증이 풀어지셨을 거라 믿고 싶어요..

안되셨다면 제가 질문 의도를 제대로 파악 못한 것이겠죠..?ㅠㅠ