시작하기에 앞서 나는 블로그를 작성하는 것이 익숙해지기 전까지 TIL을 "Today I Learned"가 아닌 "This week I Learned"로 정의하고 매주 최소 한 번씩 기록해보려고 한다.
def sum(*nums) :
result = 0
for num in nums :
result += num
return result
sum(1, 2, 3, 4, 5)
def show_user(**user) :
for key, value in user.items() :
print(f"{key}는 {value}입니다.")
show_user(name="Kim", age = 20)
lambda 매개변수 : 결과
# 정의
lambda a : a-1
# 호출
(lambda a : a-1)(10)
# 정의 with if문
lambda a : True if a > 0 else False
# 람다함수 with 리스트 컴프리헨션
result = lambda x : [x * i for i in range(1,10)])(2)
print(result) # 2의 배수가 출력됨
map(함수, 반복가능객체)
# 각 요소에 10 더하기
my_list = [1, 2, 3]
new_list = map(lambda x : x + 10, my_list)
filter(조건으로 쓰고자 하는 함수, 반복가능객체)
# 2 이상 5 이하 숫자만 남김
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
new_list = filter(lambda x : 2 <= x <= 5, my_list)
reduce(함수, 반복가능객체, x의 초기값)
# 모든 요소의 합
from functools import reduce
my_list = [1, 2, 3, 4, 5]
result = reduce(lambda : x, y : x + y, my_list)
# 모든 요소의 곱
my_list = [2, 4, 6]
result = reduce(lambda : x, y : x * y, my_list)
import pickle
data = {
"목표1" : "아침에 일어나 물 한잔 마시기",
"목표2" : "매일 코딩 공부 1시간"
}
# 파일 쓰기
file = open("data.pickle", "wb")
pickle.dump(data, file)
# 파일 읽기
file = open("data.pickle", "rb")
data = pickle.load(file)
file.close
import csv
data = [
["이름", "반", "번호"],
["재석", 1, 20],
["홍철", 3, 8]
]
# 파일 쓰기
with open("student.csv", "w", newline="") as f :
writer = csv.writer(file)
writer.writerows(data)
# 파일 읽기
with open("student.csv", "ㄱ", newline="") as f :
reader = csv.reader(file)
for d in reader :
print(d)
import requests
# 접근이 거부될 경우 header를 포함해서 우회 후 접근 가능
res = request.get(주소)
# 데이터 부분 출력
print(res.text)
from hs4 import BeautifulSoup
# 파싱
soup = BeautifulSoup(html, 'html.parser')
# 원하는 정보 추출, .text(문자열 추출)와 .strip()이 자주 같이 쓰인다
soup.select('태그명')
soup.select('.클래스명')
soup.select('#아이디')
soup.select('상위태그 하위태그')
from selenium import webdriver
from selenium.webdriver.common.by import By
# 요소 하나찾기
driver.find_element(By.CSS_SELECTOR, '태그, 선택자')
# 요소 여러개 찾기
driver.find_elements(By.CSS_SELECTOR, '태그, 선택자')
#글자 입력하기
요소.send_keys('단어')
# 요소 클릭하기
요소.click()
#현재 페이지의 HTML 다 가져오기
driver.page_source
driver.quit()
이번주에도 파이썬 기초 문법 필수 강의 외에 다양한 실습을 해볼 수 있는 선택 강의들도 추가로 들으며 공부하였다.
"크롤링"을 처음 배워보았는데 기존에 알고있던 HTML 지식들도 적용해가며 배우니 많이 어렵지는 않았고 오히려 생각보다 너무 재밌었다. 작년에 크롤링을 이용하여 프로젝트를 해볼까 했다가 너무 막막해 포기했었던 기억이 나며 다시 한번 도전해 보고 싶다는 생각이 들었다.
당장 내일로 다가온 파이썬 프로젝트 시작 날. 마지막으로 열심히 2주간 배웠던 내용 복습해서 프로젝트의 모든 개발 사항을 빠짐없이 구현하며 완벽하게 끝내고싶다.
개발자로서 배울 점이 많은 글이었습니다. 감사합니다.