python/기초 12

[API] API가 뭐죠?

API? 웹 개발을 하다보면 참 많이 듣게되는 단어 API. 혼자 flask니 django니 개발할 때는 나 혼자서 기능 만들고 불러다쓰면 다른건 신경 안 써도 됐는데, 어찌 현업으로 나와보니 API 스펙좀 달란다. 처음 저 말을 들었을 때, 참 많이 당황했다. API ( Application Programming Interface ). AWS에서는 아래와 같이 정의한다. 더보기 API는 무엇을 의미하나요? API는 Application Programming Interface(애플리케이션 프로그램 인터페이스)의 줄임말입니다. API의 맥락에서 애플리케이션이라는 단어는 고유한 기능을 가진 모든 소프트웨어를 나타냅니다. 인터페이스는 두 애플리케이션 간의 서비스 계약이라고 할 수 있습니다. 이 계약은 요청과 ..

python/기초 2022.09.29

[파이썬 기초] Class를 알아보자.[2]

객체, 즉 오브젝트에 관한 수업이나 자료를 읽었다면 반드시 들어본 단어가 있다. 이라는 용어인데, 간단하게 클래스의 속성을 가지고온다라고 생각하면 이해하기 쉽다. 상속 이전 포스트에서 만들었던 Sandwich를 조금 추가해서 사용해보자. class Sandwich: def __init__(self, bread, **kwargs): self.bread = bread self.topping = kwargs for k,v in kwargs.items(): exec (f'self.{k} = v') def price(self): return sum(self.topping.values()) price라는 함수를 정의했고, 추가로 전달받은 kwargs에 있는 value만 가지고 가격을 정해주는 함수이다. 여기서 입지..

python/기초 2022.05.30

[파이썬 기초] Class를 알아보자. [1]

대다수의 프로그래밍 언어에서 객체 즉 Object라는 용어는 공통적으로 쓰인다. 파이썬 또한 객체지향언어이며, 모든 변수들이 각각 하나의 객체로 동작함을 의미한다. a = 1 b = 'string' c = 1.2 a,b,c 각각 int,str,float 라는 객체로써 동작한다는 의미이다. 객체? 우선, 객체란 단순하게 말해서 [틀] 이라고 생각하면 쉽다. 좀 더 쉽게, 라고 생각하자. 서브웨이에서 제공되는 가장 대표적인 메뉴는 일단 샌드위치다. 샌드위치를 떠올렸을 때, 빵 사이에 채소나 고기, 치즈등을 넣는 모양을 상상한다. class Sandwich: def __init__(self,bread,**kwargs): return 위와 같이 샌드위치라는 틀을 만들어주자. 안에 어떤게 들어갈지는 워낙 많으니 ..

python/기초 2022.05.27

[파이썬] pandas 시간 구간을 그룹화해보자.

시계열 데이터를 만지다보면 빈 값도 있고, term이 제각각인 경우도 있다. 만약 time step이 1초라면 데이터도 어마어마하게 많을테니 이를 효과적으로 줄여보자. import pandas as pd import random df = pd.DataFrame() df['Time'] = pd.date_range('2021-01-01','2021-01-02',freq='1S') df['Color'] = random.choices(['Red','Blue','Green','White'], k=len(df)) df['Value'] = 1 위와 같이 데이터를 만들어보자. 무의식적으로 날짜를 적다보니 2021년 1월로 정했다. 코시국때문에 새해지만 새해같지않다. 각설하고 86401개의 데이터가 만들어지고, 색상과 ..

python/기초 2022.01.19

[파이썬 기초] 반복문을 뜯어보자. ( feat.왜 i? )

파이썬을 처음 시작할 때, 배우는 과정중에 반복문이 있다. 파이썬에선 다음과 같이 사용한다. for i in range(10): print(i) 따라하다보면 참 재미있다. 초심자의 입장에서 의문이 들만한 점은 왜 모든 기초 반복문에서 i를 사용할까? 이다. 왜 i를 넣으면 되고 다른건 안되나요? 등등 물어보는 일이 많다. 여기서 i는 반복자라고 하는데, i는 단순히 변수의 역할을 할 뿐, 특별히 큰 의미가 있는건 아니다. 즉 사용자에 따라, 데이터 타입에따라, 반복할 객체의 종류에 따라 다르게 설정할 수 있다. 예를들어, 위의 예제에서는 반복문이 한눈에 불 수 있을정도로 짧지만, 반복문이 길어진다면? 반복문 안에 또 반복문이 생기는 경우도 있을 수 있다. 만약 점수를 담은 리스트 scores = [100..

python/기초 2022.01.05

[파이썬 기초] 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

[파이썬 기초] Class / 함수 (args,kwargs)

모든 언어에서 클래스 객체 생성과 함수선언은 매우매우매우 중요하다. 여러분이 클래스를 얼마나 이해하고 있는지는 잘 모르겠으나, 간략하게 소개하고 지나간다. 다 알고 있다면 아래로 내려 본문으로 이동하자. Class class 으로 선언이 가능하다. 처음 클래스에 대한 설명을 들었을 때, 보통 붕어빵으로 예시를 많이 하는데, 그땐 잘 이해가 안갔다. 근데 그만큼 확실한 예시도 없는 것 같다. 혹시 메이플스토리나 기타 RPG게임을 해 본적이 있다면 그걸 예시로 들어보자. 클래스는 함수와 마찬가지로 그 자체로는 아무런 기능이 없다. 유명한 시 구절에도 있지않은가. 내가 그의 이름을 불러주었을 때 그는 나에게로 와서 꽃이 되었다. 부르기 전까진 아무것도 하지 않는다. 모자 상의 무기 하의 신발 대충 이렇게 장비..

python/기초 2021.10.13

[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

[파이썬 기초] 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
반응형