Python & Ruby — 문자와 데이터 타입 (생활 코딩)

Nanyoung Kim
4 min readApr 28, 2020

강의 출처 : 생활 코딩

1. 문자의 표현

<python>

print('Hello')print("Hello")print("Hello 'world'")print('Hello "world"')

<ruby>

puts('Hello')puts("Hello")puts("Hello 'world'")puts('Hello "world"')

<실행 결과>

HelloHelloHello 'world'Hello "world"
  • 그러나 아래와 같은 코드는 오류이다. 컴퓨터는 작은 따옴표가 시작되면 문자열이 시작됐다고 인식하고 그 다음 작은 따옴표를 만나면 문자열이 끝났다고 인식한다.
  • 그러므로 아래의 코드에서 world 는 문자열로 인식되지 못하여 신텍스 에러가 발생한다.
print('Hello 'world'') 
  • 작은따옴표와 큰 따옴표로 출력한 메세지는 결과가 같다. (기능은 살짝 다름 -> 추후에 설명)

2. 문자열의 제어(1)

<python>

print('Hello '+'world')print('Hello '*3)print('Hello'[0])print('Hello'[1])print('Hello'[2])

<ruby>

puts('Hello '+'world')puts('Hello '*3)puts('Hello'[0])puts('Hello'[1])puts('Hello'[2])

<실행 결과>

Hello worldHello Hello HelloHel
  • 문자열에 대해서 ‘+’ 와 ‘*’는 가능하지만 ‘-’와 ‘/’의 기능은 없다.

3. 문자열의 제어(2)

  • capitalize() : 첫번째 문자를 대문자화 한다.
  • upper(), upcase() : 소문자 만으로 이루어진 문자열 전체를 대문자로 바꾼다.

<python>

print('hello world'.capitalize())     //Hello worldprint('hello world'.upper())         //HELLO WORLDprint('hello world'.__len__())       //11print(len('hello world'))            //11print('Hello world'.replace('world', 'programming'))    //Hello programming

<ruby>

puts('hello world'.capitalize())     //Hello world puts('hello world'.upcase())         //HELLO WORLDputs('Hello world'.length())         //11puts('Hello world'.sub('world', 'programming'))   //Hello programming

4. 특수한 문자들

  1. excape(\) : 문자열에 “ 를 넣고 싶으면 “ 앞에 역슬래시(\)를 붙여줌으로써 일반 문자로 해석하라고 명령한다.

2. 역슬래시 출력하기 : print(“\”) 는 에러가 나는데, 이는 뒤의 쌍따옴표를 문자열이 닫혔다는 의미가 아니라 역슬래시로 인해 일반 문자열로 해석이 되기 때문이다. 그러므로 역슬래시를 출려하기 위해서는 print(“\\”) 라고 타이핑해야한다.

3. print(“\a”) : 컴퓨터의 기본 경고음이 나온다.

<python>

print("egoing's \"tutorial\"")          print("\\")print("Hello\nworld")print("Hello\t\tworld")print("\a")print('Hello\nworld')

<실행 결과>

egoing's "tutorial"\HelloworldHello       worldHelloworld
  • 파이썬에서는 작은 따옴표와 큰 따옴표의 기능이 똑같다.
print("Hello\nworld")
print('Hello\nworld')
  • 그러므로 위의 두 코드 모두
Hello
world

가 출력된다.

<Ruby>

puts("egoing's \"tutorial\"")puts("\\")puts("Hello\nworld")puts("Hello\t\tworld")puts("\a")puts('Hello\nworld')

<실행 결과>

egoing's "tutorial"\HelloworldHello       worldHello\nworld
  • 루비에서는 작은 따옴표와 큰 따옴표의 기능이 약간 다르다.
puts("Hello\nworld")  //Helloworld 출력됨
puts('Hello\bworld') //Hello
world 출력

5. 문자와 숫자를 통해서 알아보는 데이터 타입

<Python>

print(10+5)print("10"+"5")

<Ruby>

puts(10+5)puts("10"+"5")

<실행결과>

15105

--

--