차례
1. 파이썬의 자료형
문자열, 리스트, 튜플
내장함수 : 파이썬이 기본적으로 제공하는 함수
count
특정 문자의 개수를 반환
find
index
join
문자 사이에 입력한 문자를 삽입
upper
대문자로 변환한 값 반환
lower
소문자로 변환한 값 반환
replace
문자열을 치환한 결과 반환
split
문자열 나눈 결과 반환
다른 곳에서 가져온 데이터의 공백 지울 때 많이 사용
lstrip
왼쪽 공백 제거한 값 반환
rstrip
오른쪽 공백 제거한 값 반환
a = [1,2,3]
b = [6,7,8]
c = a + b
print(c)
[1,2,3,6,7,8]
a = [1,2,3]
b = a * 3
print(b)
[1,2,3,1,2,3,1,2,3]
둘 다 문자열과 같은 원리다!
a = [0, ['123', 'apple'], [0,6,3]]
print(a[1][0])
# 2번째 원소의 첫번째 원소 값 출력
del(data[0])
# del() 함수 써서 data 리스트의 1번째 원소 삭제
append
요소를 맨 뒤에 추가
sort
요소들을 정렬
원래 리스트가 정렬 된 후의 리스트로 바뀐다.
➡️ 원본 변형
reverse
요소들을 뒤집음(맨 뒤 ▶️ 맨 앞)
index
입력 값의 첫번째로 찾은 인덱스 반환
입력 값이 리스트 내에 없으면 에러가 난다.
insert
원하는 위치에 요소를 추가
list.insert(index, 원하는요소)
remove
입력 값을 삭제 (첫번째로 찾은 위치의 값 삭제!)
pop
마지막 요소를 꺼내고 삭제 ➡️ 마지막 요소와 해당 요소 삭제한 리스트 둘 다 출력
➡️ 원본 변형
count
입력 값의 갯수
리스트와 매우 흡사하지만, 리스트와 달리 수정, 삭제, 추가가 ❌
➡️ only read!!
키와 값으로 이루어진 자료형
{'key' : 'value', 'key2' : 'value2'}
연산, 슬라이싱 지원하지 않는다.
슬라이싱 : 인덱스 없기 때문
인덱싱 지원!
dict['key']
del(dict['key'])
dict.keys()
dict.values()
dict.items()
# 결과 값
[('a', 123)]
dict = {'a' : 123, 'b' : 'apple'}
# 'c' key가 없기 때문에 'c' 키의 값을 지정할 수 있다.
dict.get('c', 500)
# 결과 값
500
# 이미 있는 키에 기본값 지정해도 원래 있던 값이 출력된다.
dict.get('a', 800)
# 결과 값
123
# 값 추가
dict = {'a' : 123, 'b' : 'apple'}
dict['c'] = 300
# dict
dict = {'a' : 123, 'b' : 'apple', 'c' : 300}
# 수정
dict['a'] = 150
#dict
dict = {'a' : 150, 'b' : 'apple', 'c' : 300}
조건문, 반복문은 제어문이다.
➡️ 제어문이란? "무엇을 어떻게 해줘!" 에서 어떻게에 해당하는 부분
if문 필요한 경우
조건에 해당하는 부분만 얻고 싶을 때
ex) 엑셀 필드 중 결제 상태가 '결제완료'인 사람만 뽑을 때
if / elif / else
if 조건문:
실행할 문장
elif 조건문:
실행할 문장
else:
실행할 문장
들여쓰기 매우 중요함! ➡️ 영역구분
탭/space든 한 번 썼던 걸로 계속 써야한다!
문자열, 리스트, 튜플, 딕셔너리의 경우 빈 자료형만 아니면 참!!
참 | 거짓 | |
---|---|---|
숫자형 | 0이 아닌 수 | 0 |
문자열 | 빈 문자열이 아닌 문자열 | "" |
리스트 | 빈 리스트가 아닌 리스트 | [] |
튜플 | 빈 튜플이 아닌 튜플 | () |
딕셔너리 | 빈 딕셔너리가 아닌 딕셔너리 | {} |
JS와 동일하다
다만, 같다 == (= 2개) / 다르다 != (= 1개)
and
or
not
x in 리스트, 튜플, 문자열, 딕셔너리
x가 자료형 안에 존재하면 참
x not in 리스트, 튜플, 문자열, 딕셔너리
x가 자료형 안에 존재하지 X면 참
for 변수명 in 리스트, 튜플, 문자열:
실행할 문장
문자열 또한 데이터 set이기 때문에 for in 사용 가능
for in : 데이터 set에서 데이터 하나 하나씩 데이터 갯수만큼 반복
// looper가 100번 돈다.
for looper in range(100):
print(looper)
내장함수를 사용!
특정 조건을 만족하는 동안 계속 반복
while 조건문:
실행할 문장
# input() : ()안의 내용이 화면에 뜬다
# 사용자가 입력한 내용은 input 함수에 의해 user_input 변수에 저장된다.
user_input = input('Input : ')
print(user_input)
break, continue는 주로 조건문, 반복문과 함께 쓰인다.
break
반복문에서 빠져 나오는 구문
break 만난 부분에서 프로그램이 종료된다.
continue
반복문에서 뒤 문장을 건너 뛰는 구문
➡️ continue 뒤의 코드를 실행하지 X, 다음 조건 실행한다.
함수란?
입력 값을 받아 특정 작업 수행한 후 결과 값 준다!
(입력 값, 결과 값 없을 수도 있다!)
함수 없다면?
같은 내용/동작 반복될 경우 일일히 다 작성 ➡️ 효율 떨어짐
문법
def 함수이름 (입력값변수, 입력값변수2 ... ):
실행할 코드
공백 중요!!
함수에서 값을 반환하려면 return 사용
함수 내에서 return 만나면 함수는 그 즉시 종료된다!
➡️ return은 함수의 끝이라 볼 수 있다.
반환 값 필요 없이 함수 내 코드만 수행 원할 때
➡️ 함수 종료하는 의미로만 사용
def print_filter(string):
if 'skip' in string:
print('Skip')
return
print(string)
user_input = ''
while user_input != 'quit':
user_input = input('Input: ')
print_filter(user_input)
int
문자열 변수를 숫자형으로 변환해 반환
str
숫자형 변수를 문자열로 변환해 반환
list
문자열, 튜플 변수를 리스트로 변환해 반환
tuple
문자열, 리스트 변수를 tuple로 변환해 반환
int()
str()
list()
tuple()
# tuple(), list()
str_var = 'alghost'
list_var = [1, 2, 3]
tup_var = (1, 2, 3)
tup1_var = (1, 2, 3, 'apple')
print(tuple(str_var))
print(tuple(list_var))
print(list(tup_var))
print(list(tup1_var))
# 결과 값
#튜플로 변환시 문자열은 문자 하나 하나가 원소가 된다.
('a', 'l', 'g', 'h', 'o', 's', 't')
(1, 2, 3)
[1, 2, 3]
[1, 2, 3, 'apple']
len
변수의 길이를 반환(숫자형 변수 X)
input
사용자로부터 문자열을 입력 받음
range
리스트를 만들어주는 함수
range는 range(시작숫자, 종료숫자, step)의 형태로 리스트 슬라이싱과 유사.
range의 결과는 시작숫자부터 종료숫자 바로 앞 숫자까지 리스트를 만든다.
시작숫자와 step은 생략가능하다!
최댓, 최솟값 구할 땐 데이터 set의 원소가 다 같은 종류의 자료형으로 이루어져 있어야 한다.
max
리스트, 튜플, 문자열에서 최댓값 반환
=> 데이터 set에서 최댓값 반환
min
리스트, 튜플, 문자열에서 최솟값 반환
=> 데이터 set에서 최솟값 반환
len()
input()
range()
# 최댓, 최솟값 구할 땐 데이터 set이 다 같은 종류의 자료형으로 이루어져 있어야 한다.
max()
min()
# print(max(list_var3)) -> X : 리스트의 원소의 자료형이 통일되어 있지 않기 때문
list_var3 = ['a', 100, 'b']
# a에 가까울 수록 작은 것이라고 생각한다. a에서 멀 수록 큰 것
list_var4 = ['abc', 'abcd', 'aaa']