(온라인과 중복되는 부분 많음)
01.
개발 협업이 어려운 이유
로직트리
LLM = GPT
> 통역가를
코드의 오류 = 불안전성
02.
업무 자동화 : 엑셀(openpyxl, API) , 파워포인트(경영 직군)
전자정보, 조달청, 나라장터
서비스 구현
데이터 분석
파이썬으로 웹 and 앱 개발 가능
여러 복잡한 수식도 이미 구현됨 > 작동방식 이해 및 활용
자료형
강사분 코랩링크
https://colab.research.google.com/drive/1y_zZm-78wcWWQMipcEFBgS2YpRjnSBUs?usp=sharing
개인공부용 코랩링크
오전은 colab
오후에 vsc, anaconda 활용 > 점심시간에 pycharm 환경 조성하기
x ** y x의 y승
x // y 몫
x % y 나머지
유용한 단축키 alt shit 방향키 ↑ ↓
' ' 안에 "" 가능
\' 백슬래쉬 활용
Formatting 문자 출력법

Index 예시


파이썬의 숫자는 0부터 시작이다
슬라이싱 예시
word[0:4]
word[:4]

리스트형 (List)
[ ] - 여러개 데이터 한곳 보관
리스트중첩 → 벡터, 행렬의 원형
divide and conquer
하나의 큰 프로그램을 만들 때 작은 부분에서부터 조금씩 빌드업
.append()
.sort()
return이 없는 값.

튜플(Tuple)
x = (1,2,3)
new_x = x + (4, )
new_x
//(1,2,3,4)
딕셔너리(Dict)
{,} 중괄호
key : value 형태 → json
집합형 Set
불형 Boolean
조건문
or의 활용
input 함수 = 실행창에서 값 입력할 수 있게 해줌
반복문for
변수를 i 로 굳이 하지 않아도 됨
# in 뒤에 들어갈 수 있는것?
range, list, tuple 등 다양하게 가능
참고. 파이썬 코딩 컨벤션?
https://spoqa.github.io/2012/08/03/about-python-coding-convention.html
회사마다 작성하는 룰이 다다름. 기술 문서
이러한 특징 : 코딩 컨벤션
참고. github으로 협업하는데, 동료가 confirm 해야 반영됨
주석은 항상 코드 바뀔때마다 모순되지 않게 최신화
반복문 while
조건문에서 handling 할 수 있는 조건을 넣어줘야 loop 발생 x
횟수 관계없이 조건 만족했으면 좋겠다싶을 때
a = a+1 / 직관적
a += 1
Hands on : 1부터 5까지 더하는 프로그램 만들기

합 Sum
While은 i 증감을 표현해야함 vs for 는 필요없음
Continue vs Break
skip vs stop
구구단 & 조건별 구구단

조건문을 코드를 최대한 덜고치는 방향으로 생각
f-str 사용시


for를 쓰는 방식
여담.
회사 5개를 다니는 것.
정규직 / 비정규직 큰 상관이 없음(시간당 페이가 더 높음)
프로젝트 베이스 기반
ex)
쇼핑몰 분석 > 메일보내서 데이터 분석 컨설팅 무료로 해주겠다.
1곳만 뚫어도 데이터 얻을 수 있음
(하신 분들은 논문 많이보고 적용할 수 있어서 좋긴하다는 의견)
함수 def
함수를 작동하는 함수는 return 유무에 의해 결과값이 달라짐
cf. VSC 는 함수 ctrl 클릭하면 함수를 찾아가볼 수 있음 > 공부하는데 도움됨
# 설계
def score_result(score, name):
if score >= 90:
grade = 'A'
elif score >= 80:
grade = 'B'
elif score >= 70:
grade = 'C'
elif score >= 60:
grade = 'D'
else:
grade = 'F'
print(f"{name}은 {grade} 등급입니다.")
return grade
# 함수 사용
score_result(100, 'inseop')
# 엑셀기재 등
for name, score in excel:
score_result(score)
Built in Python
내장함수
.upper()
.lower()
.join() & .split()
각각 추가하거나 나누는 함수
date = "2023-12-13 15:32:00"
year = date.split(" ")[0].split('-')[0]
month = date.split(" ")[0].split('-')[1]
day = date.split(" ")[0].split('-')[2]
#join
random 함수
time.
daytime 이라고 범용적인 함수도 있긴함
클래스 Class
class FishBread():
#생성자 → 함수가 실행될 때 가장 먼저 실행되는 메소드
def __init__(self, name, ingredient, price):
self.name = name
self.ingredient = ingredient
self.price = price
def breaf(self)
print(f"이 붕어빵은 {self.name}이고, 재료는 {self.ingredient}, 가격은 {self.price} 입니다.")
redbean_bread = FishBread("팥붕어빵", "팥", 500)
redbean_bread.bread()
// 이 붕어빵은 팥붕어빵이고 재료는 팥, 가격은 500 입니다.
Q. ()안에 self가 항상 들가는 이유가 있을까요? 예) bread(self)
서로다른 함수들이 인스턴스에 접근하여 변수를 사용하기 위해서 self를 사용한다.
다른 함수들에서도 활용할 수 있게 선언한다 생각하면 됨
추가적으로 vsc 하면서 다 보여줄 예정
Q. 인스턴스(Instance)와 객체(Object)
자동차 클래스 → 속성(이름, 색상, 가격) /
인스턴스 → '나만의' 자동차
클래스 전체는 객체, 객체의 속성 값을 가지는 것을 인스턴스
즉 개별로 생성되어 객체의 속성값을 가지는 된 것을 인스턴스로 볼 수 있다.
너무 매몰될 필요는 없고 인지만 해두면 된다
https://cerulean85.tistory.com/149
Q. class ==object?
엄연히 따지면 class != object
클래스는 구조 전체를 객체라고는 하지만.. 음
일단 객체지향시스템을 배우면서 좀더 상세하게 배울듯 함.
실습예제


보완점
설계에 필요한 함수를 여러개 알아두면 더 좋을듯함
함수도 좋지만 알고리즘을 생각하는 것이 중요
f-str 입력문법 숙지필요. 직관적이라 쓸일이 많다.
동기가 매우 중요함
분기별 모임을 가졌다.
- 코드 리뷰 어떻게 하는지, 개발자 출장 관련, 연봉 얼마, 백엔드 결제 서버 어떤거 씀?
- 동료가 억대 연봉, 배달/라인/네이버.. 각자가 속해있는 영역에서 이야기함.
- 회사자랑, 복지 포인트 등
대기업은 아니더라도 문화를 공유하고 아키텍쳐를 들은게 도움이 많이됨.
대용량 서버를 구축할 때 도움됨
3일 > 수업
3일 > 실습(프로젝트) // 개인적 (오전 flask 강의)
크롤링 기초
colab으로 해도 상관은 없지만 재미가 없음
리눅스 베이스다보니 코드 움직이는 결과를 보기 힘듬
일부러 로컬에서 크롤링하는 걸 추천
ex) 코랩으로하면 지역이 달라지는데 이거마다 다른 환경이 나옴
모듈로 만들때 한계점이 있음
Q. 주피터노트북은 코드 편집기인데 파이참은 뭐고 아나콘다는 뭐라고 생각해야하나요
아나콘다 : 파이썬 패키지 묶음
주피터노트북 : 오픈소스 기반 가벼운 코딩 편집기
파이참 : 고급화된 편집기
가벼운 vsc를 선호하는 편 (3~4개씩 띄우고 있음)
크롬드라이버 주기가 빠르니까 웹드라이버 매니저로 하는게 나음
메모 : 글씨체 변경하기 (쉬는 시간) https://precommer.tistory.com/50
(공유완료)
요소들을 보기 위해선 마우스 우클릭, 검사
F12 누르면 요소가 나옴

id 값을 찾거나, class 명을 찾거나(css.selector 는 코드가 너무 김)
마우스 우클릭 - 검사 : element 찾기 쉬움
중복이 있을 수 있으나 첫번째이면 상관없음

어려운 기술이 아니기에 배워두면 삶이 쾌적해짐
기술을 가진 사람들이랑 경쟁하는 게 힘듬. 필요하는 정보를 수집하는 습관

만약, class가 없으면...
태그를 활용
금요일날 HTML 활용,
저처럼 실시간 데이터를 받아볼 수 있는 공간을 만들 예정
'일별 학습일지' 카테고리의 다른 글
12/20 :: Ideation (0) | 2023.12.20 |
---|---|
12/18 :: 실시간 (0) | 2023.12.18 |
12/12 :: IF, for, while (0) | 2023.12.12 |
12/11 :: Data type (0) | 2023.12.12 |
12/12 :: 특강 (0) | 2023.12.12 |