기본적인 자료형에 대해서 알아보겠습니다.

숫자

가장 많이 사용할 숫자에 대해서 한번 알아보겠습니다

자료형

  • 정수 : 소수점 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']