IT 공부 기록/Python 13
Collections 모듈
Collections 모듈 Counter컨테이너 내에 동일한 값의 자료 개수를 파악할 때 사용하는 객체로, 컨테이너를 생성하는 생성자다.결과를 사전형태로 리턴하며, 사전형태의 특성상 정렬되어있지 않다.most_common 함수를 이용해 상위 n개의 시퀀스를 추출할 수 있다.container = Counter() # Counter 함수를 이용한 객체생성for n in "aaabbc":print( "%s : %d" %(n, container(n)) >>> a : 3>>> b : 2>>> c : 1# most_common 함수 이용container = Counter()container.update("aaaaaabbbbbccccdddeee") for item, cnt in container.most_common..
빌트인함수
sorted : 정렬된 리스트를 반환기본 형태 : sorted(literable 대상, key=None, reverse=False)key : 정렬기준 값을 생성할 함수를 지정. key함수가 호출되고 리턴 값으로 정렬을 수행reverse : 차순정리list.sort => sorted와 기본적으로 동일하나, return 값이 없다. filter : 지정 함수로 필터링된 결과를 생산할 Iterator를 반환map : 지점 함수의 리턴값을 반환할 Iterator 반환 모듈, 패키지importimport 시점에서 해당 코드가 실행된다.import a / a.fn()from a import fn / fn() 디렉토리 import디렉토리를 import를 하면 디렉토리/__init__.py가 import 대상이다. 모..
순회 가능한 객체
순회가능한 객체데이터를 하나하나씩 처리할 수 있는 객체들을 순회가능 객체라 칭한다.set, list, dict, tuple, generator 등은 모두 순회가능(Iterable) 객체이다.어떤 클래스를 Iterable하게 하려면 __iter__와 __next__ 멤버함수를 구현해야한다. 클래스를 Iterable하게 만드는 예시class MyCustom: def __init__(self, start, end): self.start = start self.end = end def __iter__(self): # for문에 생성한 인스턴스가 들어갈 경우, iterator가 아니기에 iterator를 요구받는다. return self # 요구에 self로 응답하므로써 객체 자기자신을 iterator로 사용하겠..
클래스를 이용한 호출 가능한 객체
호출 가능한 객체 보통 함수를 호출할 때, 아래와 같이 호출한다.class Calculator2(object): def __init__(self, base): self.base = base >>> cal2 = Calculator2(10)>>> cal2.__call__(2,3)15하지만, 인스턴스 자체를 호출하기 위해 다음과 같이 __call__ 멤버함수를 추가한다.__call__ 멤버함수를 선언하면, 인스턴스 호출 시 파이썬이 자동으로 __call__멤버함수를 호출해준다.class Calculator2(object): def __init__(self, base): self.base = base def __call__(self,x,y): return self.base + x + y >>> cal2 = Ca..
크롤링 예제소스 (180301 추가)
1. importimport requests from bs4 import BeautifulSoup import os import re import json import pandas as pd # 데이터 시각화를 위한 pandas from urllib.parse import urljoin # url import collections # OrderedDict()를 사용하기위한 collections headers = { 'User-Agent': ('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 ' '(KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'), }2. 소스 # 멜론 차트 100위 ..