[6/1 TIL] 파이썬 기초 문법 & mongoDB

haegnim·2023년 6월 1일
0

TIL

목록 보기
1/52
post-thumbnail

1. 파이썬 기초 문법

직관적인 프로그래밍 언어라고 한다. 자바스크립트를 쓰던 습관과는 다른 부분이 있어서 당황스러운 부분도 있었다. 조건문과 반복문을 쓰는데 들여쓰기에 따라서 오류가 나기도 하고 결과가 달라지기도 해서 정렬에 신경을 써줘야 한다. 괄호로 묶지 않아서 어색하게도 느껴진다.

print('hello world')
a = 2
b = 3
print('a+b')

a = ['사과','배','귤']
print(a[0])

# 함수를 선언할게 
def hey():
    print('하이')
hey()

def sum(a,b,c):
    return a+b+c
# 리턴이 있으면 함수를 그 값으로 변신 시킨다 
result = sum(1,2,3)
print(result)

# 반복문 조건문
age = 25
if age > 20: 
    print('성인입니다.')
else:
    print('청소년입니다.');

ages = [5, 10, 13, 23, 25, 9]
for a in ages:
    if a > 20:
        print('성인')
else:
    print('청소년입니다.');

다른사람이 만든 라이브러리 사용법 알아보기

가상환경 : 라이브러리를 담아두는 폴더다

라이브러리 = 패키지

가상환경을 만들고 첫번쨰 라이브러리를 만들어보자

파이썬 패키지 설치

📌 인터프리터가 뭐지? : 코드를 한 줄씩 읽어 내려가며 실행하는 프로그램 (←→컴파일러)

가상환경을 만들어도 vsc에서 작업을 시작하면 만든 가상환경이 아니라 원래 설치한 파이썬을 사용하여 실행된다. 따라서 만든 가상환경을 실행하기 위해서는 파이썬 인터프리터를 설정해주어야 한다.

가상환경 만들고 라이브러리 설치

1)라이브러리를 담는 폴더 생성

python3 -m venv venv

2)인터프리터 (venv:venv) 선택

3) requests 라는 라이브러리를 설치할거야

pip install requests

requests : fetch를 가능하게 해주는 라이브러리

fetch : (서버에서 데이터를 가져와서 보는 것)

2. 웹스크래핑

: 크롤링해서 인터넷의 자료를 가져와보자

html 중에 일부를 속아내어 가져오는게 크롤링

개발자창 검사 띄우고 복사할 부분 copy > copy selector 선택

크롤링 기본 세팅 (bs4 라이브러리 사용)

import requests
from bs4 import BeautifulSoup

URL = "https://movie.daum.net/ranking/reservation"
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(URL, headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')

python hello.py : 파이썬 실행
원하는 형태로 가져오기 위해 사전에 클랜징 작업이 필요할 수 있다.

#앞뒤로 붙은 띄어쓰기를 없애줌
.strip() 

#(’,’ , ‘’)등을 없애줌
.replace

3. mongoDB 설치 + 사용해보기

sql이 sql과 nosql로 나뉘는 걸 처음 알았다. 파이썬을 사용하여 자료를 추가 수정 삭제하는 경험은 처음인데, 처음이다보니 어렵게 느껴지기도 하고 헤매기도 하면서 시간이 순삭되었다.

💬 데이터베이스를 쓰는 이유?

A: 방정리를 하는 이유는 무엇인가요
Q: 물건을 잘 찾으려고

데이터베이스는 잘 가져오는데 역할이 있다.(잘 저장 X)

SQL 과 NoSQL 이 있다. nosql은 not only sql라는 뜻

SQL: 이미 정해진 칸에 데이터를 저장 (엑셀과 유사) > 틀이 정해져있어서 사람이 실수할 일이 없다. 대기업같은 큰곳 변화가 없는곳 데이터를 더 빠르게 가져올 수 있다.

NoSQL: mongoDB(NoSQL)는 정형화된 틀이 있는게 아니라 데이터를 내 마음대로 저장을 해둘수가 있습니다. 비즈니스의 유연성을 담보한다. 스타트업에서 쓰기 좋다.
이름 전화번호 이메일 만 받거나 이름 전화번호 이메일 +@도 받을수있다

DB의 실체가 무엇인가

엑셀에 데이터를 넣는 것과 똑같다.

내 컴퓨터에 데이터베이스를 설치하지 않는다 > 클라우드 환경에 올려놓는다.

클라우드 환경의 데이터베이스(mongoDB - Atlas)를 빌려서 사용할 것이다.

pymongo 기본 코드

from pymongo import MongoClient
client = MongoClient('여기에 URL 입력')
db = client.dbsparta

데이터 넣기 빼기 수정하기 삭제하기

# 저장 - 예시
doc = {"name": "bobby", "age": 21}
db.users.insert_one(doc)

# 한 개 찾기 - 예시
user = db.users.find_one({"name": "bobby"})

# 여러개 찾기 - 예시 ( _id 값은 제외하고 출력)
all_users = list(db.users.find({}, {"_id": False}))

# 바꾸기 - 예시
db.users.update_one({"name": "bobby"}, {"$set": {"age": 19}})

# 지우기 - 예시
db.users.delete_one({"name": "bobby"})

0개의 댓글