러닝 스텝

국비지원 무료 데이터분석 인강 패스트캠퍼스 - 2) Python 문법 본격 시작

마케털이범 2022. 6. 19. 10:42

1. 문자열

헬로 파이썬 :)

 

문자 > 숫자로 바꾸는 방법을 인코딩이라고 함.  현재 전세계적으로 웹에서 사용되는 국제 표준은 UTF-8(Universal code character set Transformation Format - 8-bit)이다. 컴활 1급공부할 때 봤던 건데 동일하게 나오니까 신기하다..연결되어있는 컴퓨터의 세계...

독일어/ 프랑스어/ 중국어 다 상관없다고 하니 오히려 최강 효율일지도..ㅋ

재밌다 ㅎㅎㅎ복붙 말고 곱하기로 말 많이 하는 방법!

👉 List 
1-1]  \ 로 시작하면 특별한 의미를 가짐 
# \n -> new line
# \t -> tab

1.2 ] Print Format
1) Print Format
1:1 매핑 방식 
%s = string / %d = 10진수 정수 ("사과","4) >> 순서대로 문자과 숫자가 출력된다. 


2) str.format
" { }는 { }개 있다. ".format("사과",4))
3) f- string(" ")
apple = "사과" , count = 4
print(f"{apple}는 {count}개 있다.")

꺄올..드디어 무언가 쓸모있는 듯한 프로그래밍...?



List 원소 길이는 len 으로 측정가능하고 시작은 0 마지막은 -1

슬라이싱할때는 :3 하면 앞에서 3개 :생략하고 -2 하면 뒤에서부터 2개 짤라서 출력

슬라이싱을 배워야 넘파이 판다스가 가능하다! 



요롷게 마지막 원소를 추출할 수 있다!  크롤링으로 키워드를 추출하고 최신 순으로 5가지 키워드를 추출하는 방식 등으로 활용하면 멋질듯!

광고 소진 비용 순서 / ROAS 순서 / 이탈 순서 등등 order 기능은 정말 자주 쓰는데 파이썬으로 해보고싶다 ><

👉튜플(Tuple)
tuple은 list과 거의 같다.

indexing, slicing 모두 동일하게 사용 가능하다. 원소들도 자유롭게 사용 가능하다.

거의 같은데, 다른 점이 딱 2가지 있다.

1) 리스트는 []를 사용하고, 튜플은 ()을 사용한다.

2) 리스트는 생성 후에 변경이 가능하고(mutable) 튜플은 생성 후에 변경이 불가능하다.(immutable)


Mutable : 생성된 이후에 변경(assignment)이 자유롭게 가능한 data type. e.g. List, dict, set

immutable : 생성된 이후에 변경이 불가능한 data type e.g. int, float, string, tuple, frozenset


immutable의 장점?
1) 성능적인 이슈 -> 변경되지는 않는 그 자체로 장점이 생김.
2) 프로그래밍적인 이슈 -> 데이터 수정 자체를 하지 않는 경우 실수를 방지할 수 있다.(데이터를 보호하는 개념 : 변경될 필요가 없는 데이터)

👉 집합
- 집합의 연산자인 교집합, 합집합, 차집합을 모두 지원한다.

- 집합의 특징이 2가지 있는데, 이 특징이 리스트와의 차이점이라 사용한다.

첫번째 특징이 집합 자료형을 사용하는 주된 이유이다.

1) 집합은 원소의 중복을 허용하지 않는다. 즉, **원소의 종류**를 나타내기 좋다.

2) 집합은 원소의 순서가 존재하지 않는다. 즉, 원소의 index가 없다. 몇번째 찾아내기 등이 안된다. 뒤에서 2번째 등..

👉 사전(Dictionary)
- 파이썬에서 제공하는 사전 자료형은 key - value 방법을 통해 저장한다.

| name | code |
| --- | --- |
| "John" | 0011 |
| "Maria" | 1234 |


- 이런 table concept을 의미하며, 정수 index가 아닌 key값을 통해서 value를 access한다.

Q. key-value 방식으로 저장을 하는 것으로 얻는 이점은?

A. 정수 index 특징인 순서가 아닌 의미가 있는 값을 통해서 데이터 접근이 가능하다. 
ex. 이름 List 와 Code List가 있을 텐데, 열끼리 각각 List 를 갖고 있는 상태에서 원하는 값을 찾으려면 번거로움 > 한번에 할 수 있는 건 저장 구조자체를 이름으로 바로 찾을 수 있게 만들면 됨. 이게 Dictionary의 쓸모

- 같은 말로 Hash Table이라고 불리며 데이터 관리에서 굉장히 중요한 개념이다.
- 파이썬에서 사전 자료형은 {}을 이용하여 표현하는데, 집합과의 차이점을 두기 위해 원소에 *반드시* <kbd>:</kbd>가 들어가야 한다.
- 사전을 표현할 때는 {key : value, key2 : value2, ... } 형태로 표현한다.
e.g. {'a' : 1', "b" : 3} 는 사전이고 { a,1,b,3]은 집합 >생김새가 다름


> **TIP** 사전을 만들 때 key는 중복이 있으면 절대 안된다.

> 사전에서 key가 될 수 있는 data type은 **immutable**이어야 한다.
Tuple로 써야할 듯 ( 내가 지금까지 알고, 이해한 유일한 immutable 변수 ^^.....)

ㅋㅋ나의 다양한 파이썬 초보 신기함이 담겨있는 테스트들.. 산책을 좋아하는 마음을 살며시 주피터와 공유해본다. 사전을 만들 때는 key 중복이 있으면 안되는 이유! 왜냐하면 의미있는 값으로 기준 삼아 가치를 찾아주기 때문에 :) 


국비지원으로 무료로 듣고 있는데(심지어 완강하면 3만원 낸거도 페이백 환급 해준다!!) 돈주고 들으려던 패스트캠퍼스 강의를.. 빅데이터 초급 강의를.. 진짜 요즘들어 필요성을 느낀 Python을 들을 수 있음에 감사하다. 그럼에도 느려터진 나는 진도봇과 매일 만나지만..!^^ 그래도 강사님이 너무 잘 알려주시고, 적절한 예시와 알림봇, 슬랙이 있어서 끝까지 완주할 수 있을 것 같다. 챌린지도 성공해서 타강의 3개 무료수강권도 D.get? 하고 싶다 ㅎㅎㅎ