python 2

본 토픽은 현재 준비중입니다. 공동공부에 참여하시면 완성 되었을 때 알려드립니다.

숫자와 문자

프로그래밍 입문자에게 가장 익숙한 데이터 형(data type)은 숫자와 문자일 것이다. 이번 시간에는 실제로 가장 많이 사용되는 데이터 형인 문자와 숫자를 프로그래밍에서는 어떻게 표현하고 연산하는지 알아보자.

숫자

파이썬에서는 따옴표가 없는 숫자는 숫자로 인식한다.

print 1+2

결과 : 3

print 1.2+1.3

결과 : 2.5

곱하기를 할 때는 *(에스터리스크, Asterisk, 키보드 자판 상으로 숫자 8 위)를 사용한다.

print 2*5

결과 : 10

나누기를 할 때는 /(슬래쉬, slash, 키보드 자판 상으로 오른쪽 shift 키 왼쪽)를 사용한다.

print 6/2

결과 : 3

참고

문자

문자는 "(큰 따옴표) 혹은 '(작은 따옴표) 중의 하나로 감싸야 한다. 큰 따옴표로 시작하면 큰 따옴표로 끝나야하고, 작은 따옴표로 시작하면 작은 따옴표로 끝나야 한다. String이라고 한다.

print "coding everybody"
print 'coding everybody'

숫자를 따옴표로 감싸면 문자가 된다. 아래는 문자다.

print "1"

이스케이프

만약 문자열 안에 작은 따옴표나 큰따옴표를 넣고 싶다면 어떻게 해야 할까?

print 'egoing's python'

File "<stdin>", line 1
'egoing's python'
            ^

위와 같이 오류가 발생할 것이다.

이런 때는 아래와 같이 처리하면 된다.

print "egoing's python"

또는 아래처럼 ' 앞에 \(역슬래쉬로 에터 위에 위치한다)

print 'egoing\'s python'

\를 ' 앞에 위치시키면 ' 를 문자열의 시작과 끝을 구분하는 구분자가 아니라 단순히 문자로 해석하도록 강제 할 수 있다. 이러한 기법을 escape(이스케이프)라고 한다.

여러줄의 표시

여러줄을 표시하고 싶을 때는 아래와 같이하면 된다.

# -*- coding:utf-8 -*-
print "안녕하세요.\npython의 세계에 오신 것을 환영합니다."

파이썬에서 한글을 사용하고 싶을 때는 위와 같이 코드의 초입에 인코딩을 지정해주면 된다.

아래와 같이 큰따옴표나 작은따옴표를 연속으로 3개를 시작과 끝에 배치하면 줄바꿈을 문자에 포함시킬 수 있다.

# -*- coding:utf-8 -*-
print """안녕하세요.
python의 세계에 오신 것을 환영합니다."""

String Formatting

파이썬은 문자열을 동적으로 변경할 수 있는 연산자인 %를 가지고 있다. C의 printf와 비슷한 기능이다.
아래는 %를 사용하는 예이다.

print "%d o'clock in the %s." % (2, 'afternoon')
print "%d o'clock in the %s." % (5, 'evening')

결과는 아래와 같다.

2 o'clock in the afternoon.
5 o'clock in the evening.

문자열 내의 %d와 %s가 '%' 뒤에 따라오는 괄호 안의 값으로 동적으로 변경 되었다. %d는 숫자, %s는 문자가 그 자리에 올 것임을 나타내는 기호다. 좀 더 자세한 내용은 아래 공식문서를 참고한다.

String Formmatting Operations

문자의 연산

문자와 문자를 더할 때는 아래와 같이 한다.

print "coding"+" everybody"

결과 : coding everybody

문자를 곱할 때는 '*'를 사용한다.

print "coding everybody"*10;

참고

댓글

댓글 본문
작성자
비밀번호
  1. alpaca님은 파이썬 3 사용하시는 듯 합니다
    seoj님은 파이썬2 사용하시는 듯 하고요
  2. seoj
    sbin 님 저는 print "coding everybody"*10; 처럼 뒤에 ; 를 붙여도 구문오류가 안뜨고 "coding everybody"*10 와 동일한 결과를 보여주는데 무슨 차이일까요?
  3. sbin
    문자의 연산 부분에서 "문자를 곱할 때는 '*'를 사용한다. 아래에 코드중
    print "coding everybody"*10 옆에 ; 하나 붙이셨는데 저렇게하면 구문오류 뜨는데 ; 안붙이는거 맞죠?
  4. alpaca
    괄호가 필요하네요. %d, %s 구문 예제도 print("%d 더하기 %d는 %s"%(5,5,'십')) 이런 식으로 하니 작동했습니다.
  5. python 3.4.0rc1 Shell 로 따라해보는데 print 출력값을 괄호로 감싸서 사용해야하네요~
  6. timemot
    python 3.3에서는 print a -> print(a)로 바뀐건가요?
  7. egoing
    옙 조언 고맙습니다!
    2013년 5월 16일 목요일에 Disqus님이 작성:
    대화보기
    • Sangjin Sim
      서로 다른 자료형들끼리의 임의의 연산을 할때 결과가 어떻게 나오는지에 대한 것도 있으면 더 좋을것같습니다^^
    버전 관리
    egoing
    현재 버전
    선택 버전
    graphittie 자세히 보기