Python

함수

def sum(a,b):
    print('더하자!')
    return a+b
result = sum(1,2)
print(result)

조건문

def is_adult(age):
    if age >20:
        print('성인입니다')
    else:
        print('청소년입니다')

is_adult(13)

 

반복문

  • 파이썬에서의 반복문은, 리스트의 요소들을 하나씩 꺼내쓰는 형태
fruits = ['사과','배','배','감','수박','귤','딸기','사과','배','수박']

count = 0
for fruit in fruits:
    if fruit == '사과':
        count +=1

print(count)
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'])

파이썬 패키지(package)

  • Python 에서 패키지는 모듈(일종의 기능들 묶음)을 모아 놓은 단위
  • 패키지의 묶음을 라이브러리
  • 패키지 설치 = 외부 라이브러리 설치
  • 패키지 불러오는 법 import
import requests # requests 라이브러리 설치 필요

 

가상환경 (virtual environment)

  • 프로젝트별로 패키지들을 담을 공구함
  • 같은 시스템에서 실행되는 다른 파이썬 응용 프로그램들의 동작에 영향을 주지 않기 위해, 파이썬 배포 패키지들을 설치하거나 업그레이드하는 것을 가능하게 하는 격리된 실행 환경
  • venv 폴더임

 

beutifulsoup4

  • bs4 패키지 설치
  • 해당 url html을 가져올수 있음
  • headers
from bs4 import BeautifulSoup
# 타겟 URL을 읽어서 HTML를 받아오고,
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)

# HTML을 BeautifulSoup이라는 라이브러리를 활용해 검색하기 용이한 상태로 만듦
# soup이라는 변수에 "파싱 용이해진 html"이 담긴 상태가 됨
# 이제 코딩을 통해 필요한 부분을 추출하면 된다.
soup = BeautifulSoup(data.text, 'html.parser')

 

Database

  • RDBMS(SQL):
  • 행/열의 생김새가 정해진 엑셀에 데이터를 저장하는 것과 유사
  • 데이터 50만 개가 적재된 상태에서, 갑자기 중간에 열을 하나 더하기는 어려움
  • 그러나, 정형화되어 있는 만큼, 데이터의 일관성이나 / 분석에 용이
  • ex) MS-SQL, My-SQL 등

 

  • No-SQL: 딕셔너리 형태로 데이터를 저장해두는 DB
  • 데이터 하나 하나 마다 같은 값들을 가질 필요가 없음
  • 자유로운 형태의 데이터 적재에 유리한 대신, 일관성이 부족할 수 있음 ex) MongoDB

MongoBD

  • 접속 패키지: pymongo, dnspython
from pymongo import MongoClient
import certifi

ca = certifi.where();

client = MongoClient(mongoDB 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'})

 

기타

  • 앞에서 두 글자만 끊기! text[0:2]
  • 여백 지우기 -> strip()

+ Recent posts