#!/usr/bin/env python # coding: utf-8 # # **Python Basic** # 지난 수업 이후로 **Python 에서 기본 모듈로** 구현가능한 내용들 정리하기 # ## **1 math 계산하기** # 목적 : **생성한 Dict 객체 호출시 기본값을 특정하여** 오류처리 없이도 전체 과정이 진행 # In[1]: import math math.ceil(3.14) # 올림 : 결과는 4 # In[2]: math.floor(3.14) # 내림 : 결과는 3 # In[3]: math.trunc(-3.14) # trunc() 내림을 해도 0을 향한다 # In[4]: round(3.1415) # 반올림 : Python 내장함수를 사용 #
# # # **Dict 객체 다루기** # **default Dict** 과 **Ordered Dict** 기초 [블로그](https://dongdongfather.tistory.com/71?category=680339) 정리 # 1. 자료형 작업을 하다보면 **dict 객체를** 다양하게 정의할 필요가 있다 # # ## **1 defaultDict** # 목적 : **생성한 Dict 객체 호출시 기본값을 특정하여** 오류처리 없이도 전체 과정이 진행 # In[5]: from collections import defaultdict int_dict = defaultdict(int) int_dict # In[6]: # 입력값이 없어도, 호출시 "int" 를 자동생성 # 작업 과정에 오류가 있어도 Dict 객체를 생성 print(int_dict['key1']) int_dict # In[7]: int_dict['key2'] = 'test' int_dict # In[8]: int_dict['key3'] int_dict # ## **2 OrderedDict** # dict 객체를 순서에 따라 정렬할 필요가 있을때 # 1. **"Json" 의 Header 안내를** 컬럼으로 활용하는 방법을 알아보자 # 1. dict 객체를 [list 내부 (tuple) 묶음으로 관리 및 활용] # In[9]: col_to_kor = { "NUM":"번호", "FOOD_CD":"식품코드", "DESC_KOR":"식품이름", "SERVING_WT":"1회제공량(g)", } from collections import OrderedDict json_keys = OrderedDict(col_to_kor) json_keys # In[10]: list(OrderedDict(col_to_kor).keys()) #
# # # **시계열 데이터 다루기** # **python** 의 기본 **datetime** 객체 다루기 # 1. 요즘들어 Python 기본 모듈로 인코딩 변환이 취미가 됨... # 1. 가능하면 외부 모듈이 아닌, **Python 기본 모듈을** 로 최대한 구현해보기 # ## **1 Datetime 모듈** # Python 에서 기본 Datetime 객체 다루기 # In[1]: from datetime import datetime, timedelta print(datetime.today().strftime("%A %d. %B %Y")) print(datetime.today().strftime('%Y-%m-%d')) # 년, 월, 일, 시간, 분, 초 datetime(2019,10,10,12,12,12,1000) # In[2]: # 수치를 활용한 보간 # 날짜를 연산으로 변환된 값을 추출 가능 datetime(2019,10,10) - timedelta(10) # In[7]: datetime.strptime('20190101', '%Y%d%m') # ## **2 Pandas** # datetime 객체를 활용하는 Pandas 모듈 # In[13]: # 10일의 기간 출력 import pandas as pd pd.date_range('2019/01/01', periods=10) # In[14]: # 10일의 기간 출력 pd.date_range('2019/01/01', periods=10, freq='B') # In[15]: # 10일의 기간 출력 pd.date_range('2019/01/01', periods=10, freq='12h30min', normalize=True) # In[16]: # 기간 구간을 10개로 나누기 pd.date_range('2019/01/01', '2019/11/01', periods=10) # In[17]: # String Format time data # 개별 객체에 datetime 메소드를 적용 [_.strftime('%Y-%m-%d') for _ in pd.date_range('2019/10/10', periods=5)] #
# # # **Decorator** # 슬기로운 파이썬 트릭 (2019 | 프로그래밍 인사이트) # ## **1 데코레이터의 힘** # In[66]: get_ipython().system(' pip install -U instabot') # In[ ]: # In[67]: from instabot import Bot bot = Bot() bot.login(username="saltman21@naver.com", password="inst8472") # bot.login(username="YOUR_LOGIN", password="YOUR_PASSWORD") user_id = bot.get_user_id_from_username("erdoskim") user_info = bot.get_user_info(user_id) print(user_info['biography']) # In[ ]: # In[ ]: # In[ ]: # In[ ]: # In[64]: from igramscraper.instagram import Instagram instagram = Instagram() # authentication supported instagram.with_credentials('erdoskim', 'inst8472') instagram.login() #Getting an account by id account = instagram.get_account_by_id(3) # In[61]: # Available fields print('Account info:') print('Id: ', account.identifier) print('Username: ', account.username) print('Full name: ', account.full_name) print('Biography: ', account.biography) print('Profile pic url: ', account.get_profile_pic_url_hd()) print('External Url: ', account.external_url) print('Number of published posts: ', account.media_count) print('Number of followers: ', account.followed_by_count) print('Number of follows: ', account.follows_count) print('Is private: ', account.is_private) print('Is verified: ', account.is_verified) # or simply for printing use print(account) # In[ ]: # In[56]: a = [1,2,3] b = [1,2,3] a is b # In[57]: a == b # In[ ]: # In[38]: get_ipython().run_line_magic('reset', '') # In[53]: def uppercase(func): def wrapper(): return func().upper() return wrapper # In[54]: @uppercase def greet(): return 'hello boys!!' # In[55]: greet('hello boys!') # In[50]: def decor1(func): def wrap(): print("$$$$$$$$$$$$$$") func() print("$$$$$$$$$$$$$$") return func.upper() return wrap # In[51]: @decor1 def sayhello(): print("Hello") sayhello() # In[ ]: # In[ ]: # In[ ]: # In[ ]: # In[ ]: # In[ ]: # In[ ]: def decor2(func): def wrap(): print("##############") func() print("##############") return wrap # In[ ]: