파이썬 23

[파이썬 기초] if ~ else

얼마 전부터 지식인 답변을 다는 취미가 생겼다. 대놓고 이런 기능 짜달라부터 코드 에러잡아달라는 것 까지. 조건문을 한번 다뤄보자. if 만약~ 이라는 뜻이다. 뒤에 오는 값이 True or False인지를 판별해서 참이면 아래에 있는 코드를 실행, 거짓이라면 다음으로 진행되는 함수이다. 거짓일 때만 실행시킬 코드는 다음과같이 만든다. else 참이면 if아래 구문을 실행시키고 거짓이면 else아래 구문을실행시킨다. if ~ else만 사용하면 너무 이분법적인 사고같다. 그럴 때 사용하는 elif 처음 if문은 거짓이지만 새로운 조건을 만들 때 사용한다. 예시로 성적을 가지고 등급을 나누는 코드를 짜보자. 90~100 : A 70~89 : B 50 ~ 69 : C ~49 : D def grade_calc..

python/기초 2021.11.23

[python 기초] bytesIO를 메모리로 읽어서 해체하자.

s3에서 로컬 다운로드없이 파일을 읽으려고한다. s3가 아니더라도, bytes 형태를 이미지로 바꿔보자 귀여운 고양이사진이다. s3에 이 사진이 있다고 가정하고, bytes로 읽어보자. boto3가 설치되어있다는 가정 하에 진행하면, 우선 s3에 접속해야한다. s3 = boto3.resource(aws_access_key_id = 'YOUR_KEY', aws_secret_access_key = 'YOUR_SECRET_KEY', #endpoint_url='https://kr.object.ncloudstorage.com', #정말 만약에 ncp를 사용하고있다면, 위의 주석을 해제하자 service_name = 's3') bucket = s3.Bucket('your_bucket') 제대로 입력했다면 에러없이 ..

python/기초 2021.10.12

[파이썬 크롤러] 나는 로봇이 아닙니다. header

2021.07.21 - [python/크롤링] - [파이썬 크롤러] 웹 크롤러 만들기 이전 게시글에서 잠깐 언급했듯, 각 사이트별로 robots.txt라는 항목이 존재한다. 왼쪽은 https://google.com/robots.txt 의 결과이다. 간단하게 Allow 는 크롤링 허용, Disallow는 허용하지 않는다는 의미인데, 무엇을 허용하고 허용하지 않는다는 말일까? https://searchadvisor.naver.com/guide/seo-basic-robots 친절하게 설명되어있다. 구글은 크롤러에 상당히 엄격하다. 일부만 캡쳐했는데도 Disallow가 상당하고, User-agent 가 * 즉 모든 유저에 대해서 적용된다. 우리도 종종 구글에서 일정한 간격으로 비슷한 패턴을 가지고 검색하게되면 ..

python/크롤링 2021.09.09

[파이썬 기초] try ~ except문

예외처리는 중요하다. 오래 돌려야 하는 코드를 만들다 예상치 못 한 에러에 전부 죽어버릴 수 있으니 이를 미연에 방지해야한다. try ~ except 자, 여러분은 지금 두 수를 입력받아서 나누는 코드를 짠다고 생각하자. a = int(input()) b = int(input()) print( a / b ) 간단하게 생각해보면 위와 같이 짤 수 있다. 하지만 만약 입력하는 값이 숫자가 아닌 문자라면? b가 0이라면? 전자의 경우에는 ValueError, 후자의 경우에는 ZeroDivisionError와 함께 빨간줄이 빠방 하고 나타날 것이다. 저주스러운 빨간색보다 이런 에러를 미리 생각해서 부드럽게 print문으로 바꿔줬으면 좋겠다. 이럴 때 사용할 수 있는 메서드가 try문이다. try: a = int..

python/기초 2021.09.07

[파이썬 기초] 반복문 - enumerate, zip

모든 언어에서 반복문은 중요하다. 가장 먼저 배우는 문법이 변수선언 뒤에 반복문이니까. 자바 개발자인 아는 분께서 반복문에 인덱스를 다음과 같이 작성한 것을 보고 포스팅한다. enumerate i = 0 for item in items: ... ... ... i += 1 위의 코드가 잘못되었다는 말이 아니다. 어디까지나 직관적인 코드고, 파이썬스럽지 않을뿐이니까. 자 위의 코드를 좀 더 파이썬스럽게 고쳐보자 for i,item in enumerate(items): ... ... ... i를 선언하고 더해주는 과정 필요없이, enumerate라는 메서드를 사용하면 하나의 루프가 돌 때마다 i가 1씩 추가된다. 루프를 도는데 인덱스가 필요하다면 이런식으로 코드를 짜보자. zip 우리에게 친숙한 압축 확장자 ..

python/기초 2021.09.07

[파이썬 서버] Flask를 잘 써보자 - Blueprint

이전 포스트에서 플라스크를 이용해서 웹을 구성했다. Hi 밖에 나오지 않지만 일단 구축에 성공했다고 볼 수 있다. 2021.08.17 - [python/웹] - [파이썬 서버] 간단하게 파이썬 웹페이지 만들기 ( Flask ) [1] [파이썬 서버] 간단하게 파이썬 웹페이지 만들기 ( Flask ) [1] 파이썬을 이용하여 웹 서버를 만들어보자 https://flask.palletsprojects.com/en/2.0.x/ Welcome to Flask — Flask Documentation (2.0.x) flask.palletsprojects.com 사용할 패키지는 Flask를 사용할 것이다. 파.. kkiho.tistory.com 만약 서비스가 복잡해지고, 신경써야 할 url이 많아진다면 플라스크를 실..

python/웹 2021.08.19

[파이썬 서버] 간단하게 파이썬 웹페이지 만들기 ( Flask ) [2]

서버를 만들었으면 다음은? 데이터를 뿌린다 ( O ) SQLAlchemy 를 이용해서 db를 구성하자. flask는 db기능을 포함하지 않으므로, flask_sqlalchemy를 이용해서 db를 구성해야한다. 우선, 패키지를 다운로드하자. pip install flask_sqlalchemy 이전 포스트에서는 단순히 url을 통해서 텍스트를 화면에 출력했다. 하지만 db를 설계하고 url을 통해서 db를 직접 수정하기 위해서 좀 더 복잡한 코드가 불가피하게 사용된다. 최대한 자세하게 설명해보겠지만, 그래도 어려우면 댓글을 통해 소통해보자. 우선, 이전에 사용된 코드를 보자. from flask import Flask app = Flask(__name__) @app.route('/') def main(): ..

python/웹 2021.08.17

[파이썬 서버] 간단하게 파이썬 웹페이지 만들기 ( Flask ) [1]

파이썬을 이용하여 웹 서버를 만들어보자 https://flask.palletsprojects.com/en/2.0.x/ Welcome to Flask — Flask Documentation (2.0.x) flask.palletsprojects.com 사용할 패키지는 Flask를 사용할 것이다. 파이썬으로 웹 서버를 구동하는 방식은 flask, django 등등 여러가지가 있지만, flask를 다뤄보자. pip install flask pip 명령어를 통해서 플라스크를 인스톨하자. 웹 서버이니 주피터노트북보단 파이참이나 기타 ide를 사용하자. 인스톨 했으면 다 한거다. from flask import Flask app = Flask(__name__) @app.route('/') def index(): re..

python/웹 2021.08.17
반응형