객체 지향 프로그래밍/Python

파이썬 - 입/출력, 자료구조 빠르게 정리하기

ghtis1798 2021. 1. 7. 01:30

Python

1. 파이썬 기초 문법

 

1.1. 입력받고, 출력하기

 

파이썬에서는 간단하게 input()함수로 입력을 받을 수 있습니다.

출력은 print() 함수를 이용하면 쉽게 사용할 수 있습니다.

사용자로부터 input() 함수를 이용해 입력을 받겠습니다.

input() 입력받기
print(var)로 출력하기

input()은 구분 문자가 없이 한 줄을 읽어옵니다.

input().split()으로 사용하면 공백을 기준으로 입력을 받을 수 있습니다.

var = input().split()
print(var)

input().split() 결과

input().split(';')이라고 입력하면 ';' 문자를 기준으로 입력을 받습니다.

var = input().split(';')
print(var)

input().split(';')

 

1.2. 문자열 덧셈, 곱셈

 

파이썬의 장점 중 하나는 문자열 처리가 간편하다는 것입니다.

2 + 3 = 5 를 계산하듯이

"Where are you" + "going?" = "Where are you going?"이 됩니다.

# 문자열 덧셈
"Where are you " + "going?"

문자열 덧셈

곱셈은 해당 문자를 '반복'하는 역할을 합니다.

# 문자열 곱셈
"No" * 5

문자열 곱셈

만약 문자에 따옴표를 스려면 \(역슬래시)를 사용하면 됩니다.

# 문자열에 따옴표 넣기
print("I\'m going to coding school.")

출력 결과

 

1.3. upper(), lower(), len(), str()

# 대문자, 소문자로 바꾸기
print("hobbycoding".upper())
print("HOBBYCODING".lower())

upper(), lower() 결과

# 숫자를 문자열로 바꾸기
print(str(777555))

str()결과

# 문자열의 길이 파악하기
len("hobby")

len()

 

 

2. 파이썬 기본 자료구조

 

2.1. 리스트 

[] - list() : append(), pop(), insert()

리스트 자료구조는 []로 선언할 수 있습니다.

studentNum이라는 리스트를 만들고 7명의 학생번호를 넣겠습니다.

# 리스트의 길이 찾기
studentNum = [1,4,7,9,11,15,30]
# 학생 수
len(studentNum)

다음 결과로 7이 출력 되는데요. 

여기서 학생 번호를 추가하려면 append() 함수를 사용하면되고,

학생 번호를 삭제하려면 pop() 함수를 사용하면 됩니다.

append()와 pop()은 모두 기본적으로 맨 뒤에서부터 적용됩니다.

하지만 pop()의 경우 ()안에 번호를 주면 해당 index를 삭제할 수 있습니다.

studentNum.append(10)
print(studentNum)

append() 결과

studentNum.pop()
print(studentNum)

pop() 결과

리스트의 첫 번째 인덱스는 0부터 시작합니다.

그럼 0,1,2... 4번째 index에 위치한 학생 번호 11을 삭제해 보겠습니다.

studentNum.pop(4)
print(studentNum)

pop(4) 결과

만약 1번째 index에 위치한 4번 앞에 값을 넣고 싶을 땐 insert()함수를 사용합니다.

# 1번째 index(4) 앞에 3 넣기
studentNum.insert(1, 3)
print(studentNum)

insert(1,3) 결과

 

2.2. Set 자료구조

set() : add(), remove()

set은 집합 자료구조입니다.

set에는 중복된 값이 들어가지 않습니다.

비어있는 set은 set()으로 선언이 가능합니다.

여러 개의 값을 넣으려면 set([1,2,3]) 처럼 [] 리스트 형태로 넣어줍니다.

s = set([1,2,3])
print(s)

set()

set에 4라는 값을 추가해 보겠습니다.

s.add(4)
print(s)

add() 결과

remove() 함수를 사용하면 삭제 또한 가능합니다.

4를 삭제해 보겠습니다.

s.remove(4)
print(s)

remove(4)

 

2.3. 딕셔너리 자료구조

{}, dict() : {'key' : 'value'}

key값을 통해 value를 찾는 것이죠.

예를 들어, 민아는 온라인에서 '딸기라떼'라는 닉네임을 갖고 있습니다.

이것을 딕셔너리로 만들어보겠습니다.

익명의 닉네임을 key로, 실제 이름을 value로 설정합니다.

nickname = {'딸기라떼':'민아'}
print(nickname['딸기라떼'])

nickname의 '딸기라떼'를 입력하면 대응되는 '민아'라는 값에 접근할 수 있습니다.

여러 개의 key와 value를 넣을 수도 있습니다.

게임 유저의 이름, 나라, 스킬을 딕셔너리로 만들어보겠습니다.

gameuser1 = {'name' : '싸움독학', 'country' : 'Korea', 'skill' : '안 아프게 맞기'}
# 'name' key를 통해 value에 접근
print(gameuser1['name'])
# 'skill' key를 통해 value에 접근
print(gameuser1['skill'])

딕셔너리 출력

딕셔너리는 keys(), values()로 각각 key값들과 value값들을 한 번에 뽑을 수 있습니다.

print(gameuser1.keys())
print(gameuser1.values())

keys(), values() 결과

items() 함수를 사용하면 key와 value값 모두를 가져올 수도 있습니다.

print(gameuser1.items())

items() 결과

모든 값을 삭제할 때는 clear()함수를 이용해 딕셔너리를 비울 수 있습니다.

gameuser1.clear()
print(gameuser1)

결과로는 {} 가 출력됩니다.

 

2.4. 튜플 자료구조

 

튜플 자료구조는 ()로 선언이 가능합니다.

튜플은 한 번 선언되면 변경이 불가능합니다.

단, 튜플끼리 더하거나, 튜플에 상수를 곱하거나, 인덱스로 접근하는 것은 가능합니다.

t1 = (1,2,3)
print(t1)
t2 = (4,5,6)
print(t2)

tuple() 결과

print(t1 + t2)
print(t1 * 3)
# 인덱스 2번째 값 3 출력
print(t1[2])

튜플 덧셈, 곱셈, 인덱싱 결과

 

이상으로 파이썬을 이용한 입/출력과 자료구조에 대해 간단히 정리해보았습니다. 🙂