기본적인 자료형에 대해서 알아보겠습니다.
숫자
가장 많이 사용할 숫자에 대해서 한번 알아보겠습니다
자료형
- 정수 : 소수점 X
- ex) 7, 10
- 실수 : 소수짐 O
- ex) 10.2, 87.5 등등
연산
소스
# coding=utf-8
data1 = 3
data2 = 2
print '---- Result ---'
print data1 + data2 # 더하기
print data1 - data2 # 빼기
print data1 * data2 # 곱하기
print data1 / data2 # 나누기
print data1 ** data2 # 제곱
print data1 % data2 # 나머지
결과
---- Result ---
5
1
6
1
9
1
문자열
문자열을 만들기 위해서는 '
나 "
로 글자를 감싸면 됩니다.
a = "Hello World"
여러 문자열들 연결하기
+
로 하면 됩니다.
소스
# coding=utf-8
data1 = "Hello"
data2 = " World"
print '---- Result ---'
print data1 + data2 # 더하기
결과
---- Result ---
Hello World
문자열 반복하기
*
로 하면 됩니다.
소스
# coding=utf-8
data = "Hello! \n" # \n은 줄을 바꾸라는 의미
print '---- Result ---'
print data * 5
결과
---- Result ---
Hello!
Hello!
Hello!
Hello!
Hello!
이스케이프 코드 정리
코드 | 설명 |
---|---|
\n |
줄 바꿈 |
\t |
탭 만큼 띄워줌 |
\\ |
\ 를 표시 |
\' |
' 를 표시 |
\" |
" 를 표시 |
문자열 슬라이싱
파이썬 내부적으로 문자열은 배열로 되어 있어서, index를 가지고 특정 자리의 문자열만 가져올 수 있습니다.
소스
# coding=utf-8
data = "Hello World"
print '---- Result ---'
print data
print data[0]
print data[3]
결과
---- Result ---
Hello World
H
l
연속적으로 가져오기 [시작위치:종료위치]
시작위치를 비우면 맨 처음부터, 종료위치를 비우면 맨 마지막까지란 의미
Tip) [-1]은 마지막 위치를 반환합니다.
소스
# coding=utf-8
data = "Hello World"
print '---- Result ---'
print data[0:4]
print data[:5]
print data[6:]
print data[-1]
결과
---- Result ---
Hell
Hello
World
d
문자열 포맷팅
여러개의 문자를 합칠때 매번 +
를 이용해서 하는건 불편해서 포맷팅이 제공이 됩니다
바로 예제를 보시죠
소스
# coding=utf-8
data1 = "Hi %s!" % "Alex"
data2 = "Hi %s!" % "Anna"
data3 = "Hi %s and %s!" % ("Alex", "Anna")
print '---- Result ---'
print data1
print data2
print data3
결과
---- Result ---
Hi 1!
Hi Anna!
Hi Alex and Anna!
문자열 함수
함수 | 설명 |
---|---|
len(문자열) |
문자열의 길이 반환 |
count(찾을 글자) |
문자열안에 찾을 글자 개수 반환 |
index(찾을 글자) |
찾을 글자 의 위치 반환 |
upper() |
문자열 대문자로 바꾸기 |
lower() |
문자열 소문자로 바꾸기 |
strip() |
양쪽 공백 지우기 |
lstrip() |
왼쪽 공백 지우기 |
rstrip() |
오른쪽 공백 지우기 |
replace(바꿔야 할 글자, 바꿀 글자) |
문자열 개수 세기 |
split(구분자) |
구분자 를 기준으로 나눈다, 없으면 공백으로 나눠서 리스트로 반환 |
소스
# coding=utf-8
sample = " My favorite language is python "
print '---- Result ---'
print len(sample)
print sample.count('a')
print sample.index('y')
print sample.upper()
print sample.lower()
print sample.strip()
print sample.replace("python", "java")
print sample.split()
결과
---- Result ---
32
3
2
MY FAVORITE LANGUAGE IS PYTHON
my favorite language is python
My favorite language is python
My favorite language is java
['My', 'favorite', 'language', 'is', 'python']
Tip) 문자(=character)? vs 문자열(=string)?
문자 : A, i, s # 하나의 글자 문자열 : ai, python, web # 여러개의 글자
그래서 다른 프로그래밍 언어에서는 문자는 '
로 감싸고 문자열은 "
로 감싸는걸로 구분해줘요
char = 'a'
string = "Hello"
리스트
리스트는 여러개의 자료형을 담을수 있는 배열입니다.
구조는 다음과 같이 되어 있습니다.
리스트명 = [요소1, 요소2, 요소3, ...]
소스
# coding=utf-8
sampleList = [1, 2, 3, 'python', 'java', 'c#']
print '---- Result ---'
print sampleList
결과
---- Result ---
[1, 2, 3, 'python', 'java', 'c#']
아래와 같이 리스트 안에 리스트가 들어갈 수도 있습니다.
소스
# coding=utf-8
sampleList = [1, 2, 3, [4, 5, 6]]
print '---- Result ---'
print sampleList[0]
print sampleList[1]
print sampleList[2]
print sampleList[3]
결과
---- Result ---
1
2
3
[4, 5, 6]
Quiz1) 여기서 문제 만약 5
를 출력하고 싶으면 어떻게 해야할까요?
sampleList = [1, 2, 3, [4, 5, 6]]
Quiz2) 여기서 문제 만약 b
를 출력하고 싶으면 어떻게 해야할까요?
sampleList = [1, 2, 3, [4, 5, 6, ['a', 'b', 'c']]]
Quiz3) 여기서 문제 만약 bcd
를 출력하고 싶으면 어떻게 해야할까요?
sampleList = [1, 2, 3, [4, 5, 6, ['a', 'b', 'c', 'd', 'e']]]
리스트 연산하기
리스트 역시 +
나 *
와 같은 연산자를 이용할 수 있습니다.
소스
# coding=utf-8
list1 = [1, 2, 3]
list2 = [4, 5, 6]
print '---- Result ---'
print list1 + list2
print list1 * 2
결과
---- Result ---
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 1, 2, 3]
리스트안의 특정 값 바꾸기
특정 인덱스를 불러서 값을 대입해주면 됩니다.
소스
# coding=utf-8
list = [1, 2, 3]
print '---- Result1 ---'
print list
list[1] = 10 # 여기서 2 -> 10으로 바꿔줌
print '---- Result2 ---'
print list
결과
---- Result1 ---
[1, 2, 3]
---- Result2 ---
[1, 10, 3]
리스트 함수
함수 | 설명 |
---|---|
append(추가할 값) |
리스트에 맨 뒷부분에 추가할 값 을 추가 |
sort() |
리스트 정렬 |
index(찾을 값) |
리스트에서 찾을 값 의 위치를 반환 |
insert(넣을 위치, 넣을 값) |
리스트에 넣을 위치 에 넣을 값 을 넣어준다. |
remove(삭제할 값) |
리스트에서 삭제할 값 을 찾아서 삭제 (가장 먼저 나온 값) |
count(찾을 값) |
리스트에 찾을 값 이 몇 개있는지 개수를 세서 반환 |
extend(확장할 리스트) |
리스트에 확장할 리스트 를 붙임 |
소스
# coding=utf-8
list = [12, 5, 3, 12]
print list
list.append(27)
print list
list.sort()
print list
list.sort(reverse=True)
print list
print list.index(12)
list.insert(0, 3)
print list
list.remove(3)
print list
print list.count(12)
list.extend(['p', 's', 'y'])
print list
결과
[12, 5, 3, 12]
[12, 5, 3, 12, 27]
[3, 5, 12, 12, 27]
[27, 12, 12, 5, 3]
1
[3, 27, 12, 12, 5, 3]
[27, 12, 12, 5, 3]
2
[27, 12, 12, 5, 3, 'p', 's', 'y']