Python & Ruby — 문자와 데이터 타입 (생활 코딩)
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. 특수한 문자들
- 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