웹개발 종합반 3주차 강의 회고
3주차에는 파이썬 기본문법을 공부한다
항상 많이 쓰고 많이 본 언어가 JAVA 뿐이여서 다른언어를 꼭 공부하고 싶었다
python이 처음 나왔을때 그 인기는 아주... 말모
여전히 많이 각광받는 언어이기도 하고 많은 회사에서 사용하는 언어이기에
더더더 공부해보고 싶었다 !!!!
너무너무 기대중 🤩🤩🤩
파이썬문법의 특징은
- 쉽다
- 간결하다
- 직관적이다
- 스크립트언어이다
이 네가지가 가장 큰 장점중의 장점이지 않을까 생각한다
기본적인 것들을 기록해보고 다음에도 봐야징 !
🌞 변수, 자료형, 함수, 조건문, 반복문
* 파이썬은 괄호가 따로 없기 때문에 들여쓰기가 중요함!
* 주석처리는 #으로
1. 변수, 자료형
파이썬은 변수를 정의할 때 변수 앞에 선언방식 (let, var 등)을 적지 않아도 된다
# Num
a1 = 2
b1 = 3
print(a1+b1) # result : 5
# String
a2 = 'BoBo'
b2 = 'Kim'
print(a2+b2) # result : BoBoKim
# List
a_list = ['사과','배','감']
print(a_list[1]) # result : 배
a_list.append('수박')
print(a_list) # result : ['사과', '배', '감', '수박']
# Dictionary
a_dict = {
'name':'Json',
'age':27
}
print(a_dict['name']) # result : Json
2. 함수
# Dictionary
def sum(a,b):
print('더하자!') # 먼저 실행됨
return a+b
result = sum(1,2)
print(result)
# result : 더하자!
# 3
3. 조건문
# IF
def is_adult(age):
if age > 20:
print('성인입니다')
else:
print('청소년입니다')
is_adult(25) # result : 성인입니다
is_adult(16) # result : 청소년입니다
4. 반복문
# For
fruits = ['사과','자두','배','감','수박','귤','딸기','포도','복숭아','체리']
for fruit in fruits:
print(fruit) # result : 사과 자두 배 감 수박 귤 딸기 포도 복숭아 체리
fruits = ['사과','자두','배','감','수박','귤','딸기','포도','복숭아','사과']
count = 0
for fruit in fruits:
if fruit == '사과':
count += 1
print(count) # result : 2
people = [{'name': 'bob', 'age': 20},
{'name': 'carry', 'age': 38},
{'name': 'john', 'age': 7},
{'name': 'smith', 'age': 17},
{'name': 'ben', 'age': 27}]
for person in people:
if person['age'] > 20:
print(person['name']) # result : carry ben
🌞 패키지
크롤링을 하려면 남들이 만들어 놓은 라이브러리를 사용해야 하는데 이것을 파이썬에서는 '패키지'라고 부른다
패키지 설치 = 외부 라이브러리 설치
🏷️ 주변지식
1. 가상환경(vitual environment = venv) : 라이브러리를 모아두는 곳
2. pip 사용 - requests 패키기 설치해보기
requests : 일종의 Ajax화 같은 역할을 함
1. 패키지 사용해보기
import requests # requests 라이브러리 설치 필요
r = requests.get('http://spartacodingclub.shop/sparta_api/seoulair') # 미세먼지 API
rjson = r.json()
rows = rjson['RealtimeCityAir']['row']
for row in rows:
gu_name = row['MSRRGN_NM']
gu_mise = row['IDEX_MVL']
if gu_mise < 60:
print(gu_mise)
2. 웹스크래핑(크롤링) 기초
- bs4 설치
- BeautifulSoup 사용해보기
** select_one / select 사용해보기
import requests
from bs4 import BeautifulSoup
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get('https://movie.naver.com/movie/sdb/rank/rmovie.naver?sel=pnt&date=20210829',headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
# 코딩 시작
# select_one : 1개였을 때 사용
title =soup.select_one('#old_content > table > tbody > tr:nth-child(2) > td.title > div > a')
print(title)
# result : <a href="/movie/bi/mi/basic.naver?code=186114" title="밥정">밥정</a>
print(title.text)
# result : 밥정
print(title['href'])
# result : /movie/bi/mi/basic.naver?code=186114
import requests
from bs4 import BeautifulSoup
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get('https://movie.naver.com/movie/sdb/rank/rmovie.naver?sel=pnt&date=20210829',headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
# 코딩 시작
# select : 여러개 사용
#old_content > table > tbody > tr:nth-child(3) > td.title > div > a
#old_content > table > tbody > tr:nth-child(4) > td.title > div > a
movies = soup.select('#old_content > table > tbody > tr')
for movie in movies:
a = movie.select_one('td.title > div > a')
if a is not None:
print(a.text)
나는 여태껏 회사에서 DB툴을
sqldeveloper(ORACLE) / 제우스 / navicat 을 사용해봤는데 여기는 새로운 툴을 사용해보는것이 아주 흥미롭댜...
쿼리를 막 와다다다 잘짜지는 못하지만.. 아주 재밌다!!!!
아직은 SELECT * FROM TABLE 요롷게생긴 문법을 더더더 많이 써왔어서 그런지
아직 익숙하진 않지만 문법 자체는 비슷한거 같아서 그렇게 어렵게 느껴지진 않는다
🌞 DB
- SQL / NoSQL
- 몽고DB(클라우드 서비스)
- 패키지 설지 : pymongo, dnspython
1. DB연결 / 데이터 insert
- insert (여러개)
- insert_one (하나)
from pymongo import MongoClient
# id, password, connect to 값 넣기
client = MongoClient('mongodb+srv://<id>:<password>@<Connect to>.7bcy2gr.mongodb.net/?retryWrites=true&w=majority')
db = client.dbsparta
doc = {
'name':'bob',
'age':27
}
db.users.insert_one(doc)
# or
db.users.insert_one({'name':'bobby','age':27})
db.users.insert_one({'name':'john','age':20})
db.users.insert_one({'name':'ann','age':20})
2. 조회
- find ( 여러개 )
- find_one ( 하나 )
# 모든 데이터 조회
all_users = list(db.users.find({},{'_id':False}))
for user in all_users:
print(user)
# 하나만 조회
user = db.users.find_one({'name':'bobby'})
print(user)
3. 수정
- update (여러개)
- update_one (하나)
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
4. 삭제
- delete_one (하나)
db.users.delete_one({'name':'bobby'})
5. 기타
- 파이썬에서 문자열을 다룰 때 공백제거하는 방법 3가지
1. strip(), lstrip(), rstrip() 사용 - 양쪽, 왼쪽, 오른쪽 공백 제거
2.re.sub() 사용 - 정규표현식 사용으로 원하는대로 공백 제거
개인적으로 너무너무 유익하고 재밌었던 시간 !
몽고디비 많이 들어봤는데 3주차 수업때 사용해볼 수 있어서 재밌었습니댜~
4주차도 넘넘 기대되는구만!
'개발일지 > WIL' 카테고리의 다른 글
[WIL] 항해99 (9기) - 1주차 회고 (0) | 2022.09.26 |
---|---|
[WIL] 항해99 웹개발 종합반 5주차 (0) | 2022.09.07 |
[WIL] 항해99 웹개발 종합반 4주차 (0) | 2022.09.07 |
[WIL] 항해99 웹개발 종합반 2주차 (1) | 2022.08.20 |
[WIL] 항해99 웹개발 종합반 1주차 (0) | 2022.08.17 |
댓글