본문 바로가기
개발/개발 일지

3주차 개발일지: Python

by 부산청년1 2022. 12. 19.

목차

    프로그래밍 언어와 Python

    *컴퓨터는 0과 1로 이루어진 기계어를 사용하고 인간이 컴퓨터에 명령을 내리기 위해서 중간에 컴퓨터의 언어로 번역해주시는 컴파일러 프로그램을 활용함 

    *개발자는 컴파일러에게 문서로 일을 시키는 사람이며 자바, 파이썬, 루비, 스위프트 등 영어로 되어 있는 프로그래밍 언어를 사용해 컴파일러에게 명령을 전달하고 컴파일러가 그 명령을 0과 1로 변환해 컴퓨터에게 전달하는 식임 

     

    *파이썬은 프로그래밍 언어 중 하나로 비교적 직관적인 문법으로 배우기 쉽다는 장점이 있음

    *그럼에도 모든 문법을 기억하기는 쉽지 않음! 따라서 필요한 문법은 그때그때 구글링해보면 됨. 복붙은 기본이라는 것을 잊지 말것!  

     

     

    Python 의 기초의 함수

     

    2-1. 함수 정의 : def와 return을 활용하여 정의함  

    # 수학문제에서
    f(x) = 2*x+3
    y = f(2)
    y의 값은? 7
    
    # 참고: 자바스크립트에서는
    function f(x) {
    	return 2*x+3
    }
    
    # 파이썬에서
    def f(x):
    	return 2*x+3
    
    y = f(2)
    y의 값은? 7

    2-2. 내장 함수: len(), count(), index(), replace() 등등 

    -> 필요할 때마다 구글링으로 찾아서 복붙하면 됨 

     

    2-3. 외장 함수: 파이썬 라이브러리에 있는 함수를 import하여 사용하는 것을 말함 

    • matplotlib.pyplot : 시각화 모듈
    • numpy: 수치 해석 모듈 
    • pandas: 데이터 분석 모듈
    • requests: HTTP 요청/응답 모듈

     

    2-4. 조건문 : if와 else를 활용함 

    def is_adult(age):
    	if age > 20:
    		print('성인입니다')    # 조건이 참이면 성인입니다를 출력
    	else:
    		print('청소년이에요')  # 조건이 거짓이면 청소년이에요를 출력
    
    is_adult(30)
    # 무엇이 출력될까요?

     

    2-5. 반복문: 파이썬에서의 반복문은 리스트의 요소들을 하나씩 꺼내쓰는 형태

    fruits = ['사과','배','감','귤']
    
    for fruit in fruits:
    	print(fruit)
    
    # 사과, 배, 감, 귤 하나씩 꺼내어 찍힙니다.

     

    3. Python 패키지/ 라이브러리 

    *Python에서 패키지는 모듈(일종의 기능들 묶음)을 모아 놓은 단위이며 이런 패키지 의 묶음을 라이브러리라고 함.

    *외부 라이브러리를 사용하기 위해서 패키지를 설치 방법은 아래와 같음 

    (pyCharm 기준) 

    상단 파일>설정>프로젝트>Python인터프리티> + 버튼 누르고 패키지 추가 설치 가능

    -> requests, pymongo, dnspython, bs4 등 패키지 설치 가능함 

     

     

    4. Python 웹스크래핑 

    -beautifulsoup4(bs4) 패키지 설치하여 활용 

    -크롤링 기본 세팅 코드스니펫 

    import requests
    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')
    
    #############################
    # (입맛에 맞게 코딩)
    #############################

     

     5. Python mongoDB - Atlas 활용

    -mongoDB - Atlas(클라우드 서비스) 가입하기 

    -pymongo, dnspython 패키지 설치하여 활용

    -pymongo 기본 코드 스니펫 

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

    -pymongo 코드 요약 

    # 저장 - 예시
    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'})

     

    댓글