[Python Study] 2부. Python 자료형 (1/2)
Python 자료형 (1/2)
자료형이란 프로그래밍을 할 때 쓰이는 숫자, 문자열등의 자료형태를 나타내는 모든것을 말한다. 어떤 프로그램언어를 공부하더라도 자료형이 기본이 되기 때문에 한번은 훑어보고 넘어가야한다. 보통의 언어들이 자료형은 비슷하지만 몇가지가 다른점이 있으니, Python은 어떤점이 다른지 알아 보도록 하자.
다른언어와 비슷한 자료형은 간단히 정리하고 특이한점에 대해서 자세히 알아 보도록 하겠습니다.
1) 숫자형
항목 | 사용 예 |
---|---|
정수 | 123, -345, 0 |
실수 | 123.45, -1234.5, 3.4e10 |
복소수 | 1 + 2j, -3j |
8진수 | 0o34, 0o25 |
16진수 | 0x2A, 0xFF |
python 에서 표현할 수 있는 자료형은 위와 같다. 여타 다른언어들과 큰 차이점이 없음을 알 수 있다.
숫자연산
>>> a = 3
>>> b = 4
>>> a + b
7
>>> a * b
12
>>> a / b
0.75
>>> a = 3
>>> b = 4
>>> a + b
7
>>> a * b
12
>>> a / b
0.75
위 숫자연산 중 특이한점은 python 2.7 버젼에서는 a/b 의 경우 0
을 리턴한다. 따라서 정확한 값을 얻기위해서는 a / ( b * 1.0 )
로 변경해주면 정확한 값을 얻을 수 있다. 단, Python3.0 이후에는 위 예제와 같은 결과를 얻을 수 있다.
2) 문자열
문자열을 만드는 방법은 아래와 같이 총 4가지 방법이 있다.
"Hello, Python!"
'Hello, Python!'
"""Hello,
Python!"""
'''Hello,
Python!'''
위 예제에서와 같이 특이한 점은 따옴표("
)를 3개로 복수라인의 문자열을 표현 할 수 있다. 또한 일반언어 처럼 아래와 같은 이스케이프 코드를 이용할 수도 있다.
코드 | 설명 |
---|---|
\n | 개행 (줄바꿈) |
\v | 수직 탭 |
\t | 수평 탭 |
\r | 캐리지 리턴 |
\f | 폼 피드 |
\a | 벨 소리 |
\b | 백 스페이스 |
\000 | 널문자 |
\ | 문자 "\" |
\' | 단일 인용부호(') |
\" | 이중 인용부호(") |
문자열 연산
문자열 합치기
>>> a = "Hello, "
>>> b = "Python"
>>> print( a + b )
Hello, Python
>>> a = "Hello, "
>>> b = "Python"
>>> print( a + b )
Hello, Python
문자열 곱하기
Java 와는 다르게 파이썬에서는 문자열 곱셈이 가능하다 아래 예제를 보도록 하자.
# multistring.py
print("=" * 50)
print("My Program")
print("=" * 50)
==================================================
My Program
==================================================
문자열 인덱싱 슬라이싱
문자열을 배열인덱스 처럼 접근할 수 있다. 인덱스 시작은 0 부터 시작하면 마이너스로도 가능한데 마이너스값은 문자열 끝부터 역순으로 접근 가능하다. 다음 예제를 보도록 하자.
>>> a = "Hello, Python"
>>> a[1]
e
>>> a[-1]
n
그리고 Java에서 substring 과 같은 기능을 하는 것을 다음과 같으 표현 할 수 있다. 다음 예제를 보도록 하자.
>>> a = "Hello, Python"
>>> a[1:3]
ell
>>> a[:3]
Hell
>>> a[3:]
lo, Python
“Pithon”이란 문자열을 “Python"으로 바꾸려면?
>>> a = "Pithon"
>>> a[:1]
'P'
>>> a[2:]
'thon'
>>> a[:1] + 'y' + a[2:]
'Python'
>>> a = "Pithon"
>>> a[:1]
'P'
>>> a[2:]
'thon'
>>> a[:1] + 'y' + a[2:]
'Python'
문자열 포메팅
파이썬에서는 C언어의 printf 처럼 print()
함수 에서 문자열 포메팅 기능을 사용 가능하다. 아래예제를 참고 바라며, 문자열 포멧 코드도 함께 알아 두도록 하자.
대부분의 기능이 c언어나 자바에서 지원하는 기능이랑 비슷하므로 자세하게 설명하지는 않겠다. (저자의 귀차니즘 ㅋㅋㅋ)
>>> number = 10
>>> day = "three"
>>> print("I eat %d apples. so I was sick for %s days." % (number, day))
I eat 10 apples. so I was sick for three days.
문자열 포멧코드
코드 | 설명 |
---|---|
%s | 문자열 (String) |
%c | 문자 한개(character) |
%d | 정수 (Integer) |
%f | 부동소수 (floating-point) |
%o | 8진수 |
%x | 16진수 |
%% | Literal % (문자 % 자체) |
문자열 함수
- upper() : 문자열 대문자로 바꾸기
- count( char ) : 문자열 변수에 해당 문자의 포함된 갯수 세기
- find( char ) : 문자가 처음 나오는 위치 알려 주기, 없으면 -1
- index( char ) : 문자가 처음 나오는 위치 알려줌, 없으면 에러를 발생한다.
join() : 문자열 사이에 해당 문자를 삽입한다. 다음 예제를 보자.
>>> a = ","
>>> a.join("abcd")
'a,b,c,d'
lower() : 문자열 소문자로 변환하기
- lstrip() : 왼쪽 공백 제거하기
- rstrip() : 오른쪽 공백 제거하기
- strip() : 양쪽 공백 제거 하기
- replace( string, string ) : 문자열 바꾸기
- spit( [delemeter] ) : 문자열을 나누어서 리스트로 반환한다.
- swapcase() : 대문자와 소문자를 변경한다.
join() : 문자열 사이에 해당 문자를 삽입한다. 다음 예제를 보자.
>>> a = ","
>>> a.join("abcd")
'a,b,c,d'
lower() : 문자열 소문자로 변환하기
지금까지 python은 기본 자료형과 문자열에 대해서 알아 보았다. 다른언어와 크게 다른점은 없지만, 특이한점은 문자열을 인덱스로 접근하는것과 substring 기능이 간단하게 제공 되는게 큰 특징이라고 할 수 있겠다.
### 함께하는 스터디 인원 (Ace-T) ###
RND(Right! Now! Develop!) Study - Step. 02 자료형01편
위 내용은 다음 사이트를 참고하였음을 알려 드립니다.