파이썬은 어디에 활용될까?
그렇다면 해야할 부분은?
먼저 만들고, 필요한 부분을 채워넣는 게 더 좋다.
코랩 vs 코드편집기
코랩
코드편집기
가상환경
ex)
프로젝트1(환경 1)
프로젝트2(환경2)
별도의 환경을 통해 프로젝트 업데이트 진행 → 그렇기 때문에 Python 환경을 나누어 진행하는 이유이다.
실습
conda env list
입력을 통해 콘다 환경에 진입
conda create -n ai2 python=3.8
conda activate ai2
패키지란?
장점
pandas 라이브러리 불러오기
!pip install pandas짧게 할 수는 없나?
모듈? 패키지? 라이브러리?

패키지: 비슷한 기능을 하는 모듈을 묶어서 관리하는 단위
모듈: 프로그램 사용 중 작은 기능의 단위
변수:
정의: 데이터 특정 이름을 붙여 저장
a = 1
b = “python”
c = [ 1 , 2, 3]
자료형:
문자열:
인덱싱과 슬라이싱(중요!)
print(str2[0]) # <- indexingstr4 = 'python programming'
print(str4[:6]) #python
print(str4[7:]) #programming
print(str4[:]) #python programmingtext1= '나는 "서준범"입니다'
text2= "나는 '서준범'입니다"
text3= '서준범\'s 레시피'
print(text3)
서준범's 레시피text4 = "나는 \n서준범 \n입니다"
print(text4)
print(text4[4])
나는
서준범
입니다a = 'hobby'
print(a.count('b'))
print(a.find('o'))
print(a.find('k'))
print(a.index('k'))
print('asdf'.join(a))
print(a.upper())
2
1
-1
error
hasdfoasdfbasdfbasdfy
HOBBYb = 'Life is too short'
b.replace('Life', 'Your leg')
'Your leg is too short'
b.split(' ')
['Life', 'is', 'too', 'short']
split함수를 쓰면 자동으로 리스트 형태로 바뀌게 된다
- split / join 활용 예제
a = 'hobby'
a2 = ','.join(a)
a3 = a2.split(',')
a4 = ''.join(a3)
print(a2)
print(a3)
print(a4)
h,o,b,b,y
['h','o','b','b','y']
hobby
join함수는 다시 배열을 다시 문자열로 바꿔주는 기능을 하기도 함
예제 1
a = '890724'
a2 = a[0:2]
a3 = a[2:4]
a4 = a[4:6]
print(a2+'/'+a3+'/'+a4)
----
강사 예시
ex1 = '890724'
print(ex1[:2]+'/'+ex1[2:4]+'/'+ex[4:6])
예제 2
a = '20190603'
a2 = a[0:4]
a3 = a[4:6]
a4 = a[6:8]
print(a2+'-'+a3+'-'+a4)
예제 3
1번째
phone = '010-1234-5678'
print(phone.replace('-', ''))
2번째
phone = '010-1234-5678'
phone.split('-')
''.join(phone.split('-'))
리스트
여러 개의 데이터를 다룰 때, 하나의 변수에 많은 값을 집어넣을 수 있음
대괄호를 이용하여 데이터를 묶어줌
서로 다른 데이터도 하나의 리스트에 넣을 수 있음
리스트도 indexing / slicing이 가능
인덱싱
a = [1,2,3]
a[0] -> 1
a[0]+ a[2] -> 4
a[-1] -> 3
음의 순서 설정 가능
list2 = [1,2,3,4]
list3 = [5,6,7,8]
print(list2 + list3) -> [1,2,3,4,5,6,7,8]
print(list2 * 3) -> [1,2,3,4,1,2,3,4,1,2,3,4]
list2[1] = 9 -> [1,9,3,4]
list[1:3] = [10,11,12]
print(list3) -> [5,10,11,12,8]
list[1:3] = [] -> [5,12,8]
-더하기와 곱하기 모두 가능
list2 = [9,4,3,1]
**#index**
list2.index(3) -> 2 # 찾고자 하는 요소 위치 반환
**#insert**
list2. insert(2,10) -> [9, 4, 10, 3, 1] #특정 포지션에 값을 넣을 때 insert 활용
**#append**
list.appned(11) -> [9, 4, 10, 3, 1, 11] #배열 끝에서 추가
**#pop**
list2.pop() -> 11 #가장 뒤에 있는 값을 꺼내 쓰는 함수
print(list2) -> [9,4,10,3,1]
**#count**
a = [1,2,3,1]
a.count(1) -> 2 #리스트 포함된 요소의 개수튜플
정의: 리스트와 같이 여러 개의 데이터를 집어넣을 수 있음
a = (1,2,3,4,5) **#packing**
one, two, three = (1,2,3) **#unpacking:** 하나의 튜플을 여러 변수로 선언, 변수에 각 데이터 선언
print(one) -> 1
print(two) -> 2
print(three) -> 3
**a[1] = 5 -> 에러 발생.**
딕셔너리
정의: Key와 Value의 pari 형태의 변수
d = {”name”: “Kim”, “value”:100}
dict1 = {1 : 'a'}
dict1[2] = 'b'
print(dict1) -> {1: 'a', 2:'b'}
del dict1[1]
print(dict1) -> {2: 'b'}
#get: key 값이 2인 데이터를 불러와라
print(dict1[2]) -> b
print(dict1.get(2)) -> b
print(2 in dict1) -> dict1에 key값이 2인 데이터가 있니? ㅇㅇ 있음 TRUE
print(1 in dict1) -> dict1에 key값이 2인 데이터가 있니? ㅇㅇ 없음 FALSE
dict2 = {'name' : 'pey' , 'phone': '01012345678', 'birth': '0904'}
print(dict2.keys()) -> dict_keys(['name', 'phone', 'birth'])
print(dict2.values())-> dict_values(['pey', '01012345678', '0904'])
print(dict2.items()) -> dict_items([('name', 'pey'), ('phone', '01012345678'), ('birth', '0904')])

s1 = set([1,2,3]) -> 집합 선언
s2 = {2,3, 4,4} -> 얘도 집합 선언
print(s1) -> {1,2,3}
print(s2) -> {2,3,4}
s1.add(4)
print(s1) -> {1,2,3,4}
s2.update([5,6,7])
print(s2) -> {2,3,4,5,6,7}
s2.remove(7)
print(s2) -> {2,3,4,5,6}
교집합
print(s1) -> 1,2,3,4
print(s2) -> 2,3,4,5,6,
print(s1&s2) #교집합1 -> {2,3,4}
print(s1.intersection(s2)) #교집합2 -> {2,3,4}
합집합
print(s1|s2) #합집합1 -> {1,2,3,4,5,6}
print(s1.union(s2)) #합집합2 -> {1,2,3,4,5,6}
차집합
print(s1-s2) #합집합1 -> {1}
print(s1.difference(s2)) #차집합2 -> {1}
Boolean
print(1 == 1) -> True
print(1 != 1) -> False