티스토리 뷰

모든 실습 코드는 colab으로 작성되었습니다.

목차

  • all, any
  • bashplotlib
  • counter
  • Chained Comparison
  • Chained Function Call
  • dir
  • emoji
  • filter
  • geopy
  • howdoi
  • inspect
  • **kwargs
  • list comprehensions
  • map with lambda functions
  • Merge Dict's
  • newspaper3k
  • pprint
  • Queue
  • __repr__
  • Reverse String
  • Reverse Integer
  • sh
  • Swapping Values
  • Sort Dictionary by Value
  • type hint
  • uuid
  • wikipedia
  • zip

 

all, any

 

bashplotlib

console에서 그래프를 그리고 싶다면 bashplotlib를 이용하세요.

$ pip install bashplotlib

 

collections.Counter

 

Chained Comparison

 

Chained Function Call

 

dir

파이썬 객체 내부를 살펴보고 그 속성이 무엇인지 볼 수 있습니다.

dir() 
dir("Hello World") 
dir(dir)

 

emoji

이모티콘을 사용할 수 있습니다. 

$ pip install emoji

 

filter

리스트의 요소들에 함수를 적용해서 참인 요소만 리턴합니다.

 

geopy

장소의 주소, 위도, 경도, 고도, 거리 계산 등의 기능을 쉽게 이용할 수 있습니다. 

자세한 내용은 공식 문서를 참고하세요. 지도 api를 이용하기 위해서 api key를 발급받아야 합니다.

공식 문서를 참고하면 Google 이외에 다른 곳도 많습니다.

$ pip install geopy
from geopy.geocoders import GoogleV3

place = "221b Baker Street, London"
location = GoogleV3(api_key).geocode(place)

print(location.address)
print(location.location)

 

howdoi

StackOverflow를 확인하고 싶지만 Terminal을 떠나고 싶지 않을 때 cmd에서 찾아볼 수 있습니다.

StackOverflow에서 best 답변에 있는 코드를 스크랩합니다.

$ pip install howdoi

 

inspect

inspect 모듈은 뒤에서 일어나는 일들을 이해하기 좋습니다.

# 해당 객체의 source code 출력
inspect.getsource()

# 객체가 정의된 위치 출력
inspect.getmodule()

# 실행된 위치의 라인 번호 출력
inspect.currentframe().f_lineno

 

 

**kwargs(keyword arguments)

dict 객체 앞에 **를 사용하면 해당 dict의 내용을 인수로 함수에 전달할 수 있습니다.

dict의 키는 인수 이름이고 값은 함수에 전달된 값입니다.

미리 정의되지 않은 인수를 처리하는 함수를 작성할 때 유용합니다.

 

List comprehensions

 

map with lambda functions

map()은 각 요소에 함수를 적용합니다.

 

Merge Dict's

 

newspaper3k

다양한 주요 국제 간행물에서 뉴스 기사, 메타 데이터, 이미지, 텍스트 및 작성자 이름을 검색할 수 있습니다.

또한, NLP 기능이 내장되어 있습니다.

$ pip install newspaper3k

 

pprint

python에선 기본적으로 print함수를 사용합니다. 하지만 json과 같은 객체를 출력하기엔 좋지 않습니다.

pprint는 구조화된 복잡한 객체를 읽기 쉽게 출력해줍니다.

 

Queue

python은 멀티 스레딩을 지원하며 이는 표준 라이브러리의 큐 모듈에 의해 지원됩니다.

이 모듈을 사용하면 큐 데이터 구조를 구현할 수 있습니다. 특정 규칙에 따라 항목을 추가하고 검색할 수 있는 데이터 구조입니다.

 

선입 선출(FIFO) 대기열을 사용하면 추가된 순서대로 객체를 검색할 수 있습니다.

후입 선출(LIFO) 대기열을 사용하면 가장 최근에 추가한 객체에 먼저 액세스 할 수 있습니다.

우선순위 queue를 사용하면 정렬 순서에 따라 객체를 검색할 수 있습니다.

 

파이썬에서 멀티 스레드 프로그래밍을 위해 큐를 사용하는 방법

 

__repr__ 

Python에서 class나 객체를 정의할 때, 그 객체를 문자열로 나타내는 공식적인 방법을 제공하는 것이 유용합니다.

 

file = open('file.txt', 'r')
print(file)
<open file 'file.txt', mode 'r' at 0x10d30aaf0>

아래와 같이 작성하는 게 위와 같이 작성하는 것보다 code를 Debugging 하기 쉽습니다.

Reverse String

 

Reverse Integer

 

sh

python에서 shell 명령어를 사용할 수 있습니다.

$ pip install sh

 

Swapping Values

 

Sort Dictionary by Value

Type Hint

python은 동적 타입 언어로 변수, 함수, 클래스 등을 정의할 때 데이터 타입을 지정할 필요가 없습니다. 

이것은 빠른 개발 시간을 주지만 간단한 타이핑 때문에 런타임 오류를 일으킬 수 있습니다.

 

python 3.5부터 함수를 정의할 때 type hint를 제공하는 옵션이 있습니다.

def addTwo (x : int) -> int :
	return x + 2

강제는 아니지만 type annotations는 코드를 이해하기 쉽게 만들어줍니다.  또한 tool을 이용하여 실행하기 이전에 코드에서 Type Error를 잡을 수 있습니다. Type Hint를 작성하는 것은 특히 크고, 복잡한 프로젝트를 할 때 유용할 것입니다.

 

uuid : Universally Unique IDs (or ‘UUIDs’)

쉽고 빠르게 uuid를 생성할 수 있습니다.

 

이것은 거의 확실하게 임의의 128bit 숫자를 만듭니다.

주어진 세트에서 중복을 찾을 확률은 매우 낮습니다. 1조 uuid의 경우에도 중복 가능성의 10억 분의 1보다 훨씬 적습니다.

 

 

wikipedia

$ pip install wikipedia

실제 사이트와 마찬가지로 모듈은 여러 언어, 페이지 명확성, 임의 페이지 검색을 지원합니다.

 

zip

두 개의 리스트로 dictionary를 만들 수 있습니다

 

Ref

'Computer Science > Python' 카테고리의 다른 글

[Pandas] Web Page에서 Table 정보 가져오기  (0) 2020.07.06
[numpy] numpy.linspace  (0) 2020.07.03
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함