분류 전체보기 (165)
과학 꼼지락 (35)
수학 꼼지락 (41)
 시 꼼지락 (21)
언어 꼼지락 (6)
잡다 꼼지락 (61)
비밀 꼼지락 (0)
BLOG main image





언어 꼼지락
2008.12.02 16:57
프로그래밍언어에 입문하기 위해 C를 공부하던 도중.. Python이 좋다는 댓글이 달려있었습니다.
어떤가해서 어떤 언어인지 소개를 읽어보다가, 그냥 이걸로 돌려버렸습니다. 매력적이더라고요.
http://www.greenteapress.com/thinkpython/thinkCSpy/thinkCSpy.pdf
에서 PDF를 받아서 공부하고 있는데요.

다음 부분이 전혀 이해가 가지 않더라고요..-_-;;
혹시 알고 계시는 분은 좀 설명좀 부탁드립니다.

[아래는 문제의(?) 단락입니다.]

2.5 Evaluating expressions
An expression is a combination of values, variables, and operators. If you type
an expression on the command line, the interpreter evaluates it and displays
the result:
>>> 1 + 1
2
Although expressions contain values, variables, and operators, not every ex-
pression contains all of these elements. A value all by itself is considered an
expression, and so is a variable.
>>> 17
17
>>> x
2
Confusingly, evaluating an expression is not quite the same thing as printing a
value.
>>> message = "What’s up, Doc?"
>>> message
"What’s up, Doc?"
>>> print message
What’s up, Doc?
When the Python interpreter displays the value of an expression, it uses the
same format you would use to enter a value. In the case of strings, that means
that it includes the quotation marks. But if you use a print statement, Python
displays the contents of the string without the quotation marks.
In a script, an expression all by itself is a legal statement, but it doesn’t do
anything. The script
17
3.2
"Hello, World!"
1 + 1
produces no output at all. How would you change the script to display the
values of these four expressions?



[내용추가]

제가 위 내용을 이해한 바로는..
>>> betty = type("32")
>>> print betty
<type 'str'>
>>> betty
type("32")

처럼 실행되어야 할 것 같은데..

>>> betty = type("32")
>>> print betty
<type 'str'>
>>> betty
<type 'str'>

이렇게 실행되더군요... ㅠ
왜그럴까요.

'언어 꼼지락' 카테고리의 다른 글

[Python] 만화한장  (2) 2008.12.29
[Python]List Counting  (0) 2008.12.28
[Python]공부하다 생긴 의문  (6) 2008.12.02
프로그래밍언어 책 추천 부탁드립니다.  (6) 2008.01.21
ways | 2008.12.02 17:48 신고 | 절대주소 | 수정/삭제 | 댓글
type이란 건 데이터의 type을 알려주는 함수입니다. betty = type("32") 하면 이 때 이미 type함수가 실행되어서 type 'str' 이란 값이 얻어지고 이게 betty에 저장되죠.
꼼지락 | 2008.12.02 21:19 신고 | 절대주소 | 수정/삭제
그런데, 위의 글에서 보듯이

>>> message = "What’s up, Doc?"
>>> message
"What’s up, Doc?"

가 가능한 이유는 무엇인가요?
message 에는 ""가 생략된, What’s up, Doc? 만 저장되어있는데 말입니다.
keating | 2008.12.04 01:17 신고 | 절대주소 | 수정/삭제 | 댓글
type("32")
what's a datatype of the value of this expression in Python ?
daewonyoon | 2008.12.04 10:28 신고 | 절대주소 | 수정/삭제 | 댓글
python 마을 (http://www.python.or.kr/) 여기에 물어보세요. comp.lang.python 도 괜찮을거구요.
tiny2n | 2008.12.31 16:59 신고 | 절대주소 | 수정/삭제 | 댓글
Python은 변수의 타입이 자동 캐스팅 되기 때문에
message = "What's up, Doc?" 문장은 message가 str(string)형으로 선언되고 What's up, Doc? 가 str(string)형으로 선언된 message 변수명에 저장되어 집니다.

하지만 betty = type("32") 문장은 betty라는 변수가 type형으로 선언되고 "32"의 타입인 즉 str(string)이 저장되는 것입니다.
즉 betty의 변수형은 type형이 되어지는 것이고, message는 str(string)형이 되는 것입니다.
꼼지락 | 2008.12.31 17:01 신고 | 절대주소 | 수정/삭제
정말 감사합니다! 의문 완전정복했네요^^
이름   
비밀번호 
홈페이지 
비밀글