전체 글

이번 포스팅은 파이썬에서 간결하고 실용적인 기능 리스트 컴프리헨션에 대해 알아보겠습니다. 1. 리스트 컴프리헨션(List Comprension)이란? 리스트 컴프리헨션은 리스트를 생성하는 방법 중 하나입니다. 리스트 대괄호 [ ] 안에 if문과 for문을 사용하여 조건에 만족하는 구문만 리스트로 생성할 수 있습니다. 리스트를 생성하고 for문과 if문을 사용하는 것과 리스트 컴프리헨션을 사용하는 것이 무엇이 차이가 나는지 아래 예제를 통해 알아보겠습니다. - 리스트 컴프리헨션을 사용하지 않고 0 ~ 4까지의 정수 리스트를 생성 list=[] for i in range(5): list.append(i) print(list) - 결과 예상 할 수 있듯이 0 ~ 4 까지의 정수로 리스트를 생성했습니다. - 리..
이번 포스팅은 파이썬을 사용하면서 오픈소스를 사용하며 클래스나 함수에 나왔던 @ 를 이해하기 위한 정리 포스팅입니다. 1. @ 는 무엇인가? @decorator_ def function(): print("what is this?") 오픈소스를 이용하여 파이썬을 이용할 때 @로 시작하는 것들을 볼 수 있습니다. @는 데코레이터(decorator)로 장식하다의 decorate에 er(or)을 붙임으로 장식하는 도구로 설명할 수 있습니다. 어디에 장식하는 걸 까요? 데코레이터는 함수를 수정하지 않고 추가 기능을 구현할 때 사용합니다. 예를 들어 볼까요? def func1(): print("func1 시작") print("func1 실행") print("func1 끝") def func2(): print("fu..
이번 포스팅은 파이썬을 사용하면서 assert 를 이해하기 위해 정리한 글입니다. - 가정설정문 assert 란? 파이썬에서 assert 는 예외처리에 사용하는 방법 중 하나 입니다. assert 는 파이썬에만 있는 것이 아닌 대부분의 언어에도 포함되어 있습니다. assert 는 뒤의 조건문이 True 가 아니면 AssertError를 발생시키는 함수 입니다. 예를 들어, x = int(input('2의 배수를 입력하세요: ')) assert x % 2 == 0, '2의 배수가 아닙니다.' print(x) assert 조건문 혹은 assert 조건문, 에러 메세지 형식으로 쓸 수 있으며 위의 코드는 2의 배수가 아니면 '2의 배수가 아닙니다' 라는 에러 메세지를 나타내게 했습니다. 이렇게 예외 상황을 확..
이번 포스팅은 파이썬을 사용하면서 __call__ 을 이해하기 위해 정리한 글입니다. 1. __init__ 이란? 앞서 파이썬의 클래스에 대해 포스팅했을 때 __init__이라는 생성자 함수에 대해 설명했습니다. 다시 한번 설명하자면 __init__ 은 생성자입니다. class Calc: def set(self, n1, n2): self.n1 = n1 self.n2 = n2 def add(self, n1, n2): return self.n1 + self.n2 위의 함수에서 add라는 더하기 메서드를 set으로 먼저 정의하지 않고 사용한다면 오류가 발생합니다. 그것을 방지하기 위해 class Calc: def __init__(self, n1, n2): self.n1 = n1 self.n2 = n2 def ..
· 영상처리
OpenCV 의 허프 변환에 대해 공부한 것을 정리하여 이번 포스팅을 작성하였습니다. 허프 변환은 이미지에서 모양을 찾는 유명한 방법입니다. 그중에서 OpenCV에서 사용하는 선, 확률적, 원 변환에 대해 정리해보았습니다. 자세한 이론은 허프 변환 을 보고 공부했습니다. 허프 변환 — gramman 0.1 documentation 확율 허프 변환 허프변환은 모든 점에 대해서 계산을 하기 때문에 시간이 많이 소요됩니다. 확율 허프변환(Probabilistic Hough Transform)은 이전 허프변환을 최적화 한 것 입니다. 모든 점을 대상으로 opencv-python.readthedocs.io 허프 선 변환 이미지의 수많은 픽셀 중 직선의 관계를 가진 것만 처리하는 것이 선 변환입니다. OpenCV에..
이번 포스팅은 파이썬을 사용하면서 함수에서 *와 **를 이해하기 위해 작성하는 포스팅입니다. 1. *args 이해 - args는 arguments의 줄임말입니다. 함수 인자로 *args를 대표적으로 쓰지만 다르게 써도 아무 상관이 없습니다. - 결론적으로 *args는 함수에서 여러 개의 매개변수를 쓰기 위해 사용하는 것입니다. def location(kor ,*args): print(kor, args) location("한국", "부산") location("한국", "서울", "부산", "대전", "대구") 예를 들어 위치를 출력하는 함수를 만들었을때 *args를 사용하여 출력하도록 하였습니다. 결과를 보시면 *args 로 받은 매개변수는 튜플로서 출력하는 것을 볼 수 있었고 여러 개의 인자를 주어도 출..
이번 게시물은 제가 파이썬을 공부하며 보았던 if __name__ == "__main__" 이 구문에 대해 정리한하여 포스팅 해보려고 합니다. - if __name__ == "__main__" 이란? 그대로를 풀어서 얘기하자면 " __name__ 이 __main__ 이라면 실행한다. " 입니다. 이것을 이해 하기 위해서 저는 __name__ 과 __main__ 이 무엇인지 이해 하려고 했습니다. __name__ 은 모듈의 이름을 가지고 있는 파이썬의 내장 함수 입니다. 직접 실행되는 경우에는 __main__ 을 반환하고 모듈을 import 해서 실행하는 경우는 모듈을 이름을 봔환하는 함수입니다. - 예시 def func1(): print("함수 1 수행") print(__name__) func1() if..
이 포스팅은 점프 투 파이썬을 보고 정리하여 작성한 것입니다. 혹시나 수정해야 할 부분이나 질문이 있으면 댓글로 알려주세요! 파이썬에서 클래스란 함수나 자료형처럼 꼭 필요한 요소는 아니지만 프로그램 작성에 있어 보다 쉽게 만들 수 있게 해주는 것이다. 클래스(Class)와 객체(Object) 점프 투 파이썬에서는 클래스와 객체를 과자 틀과 과자 틀로 만든 과자로 비유하고 있다. 클래스는 도면이고 객체는 도면(클래스)으로 만든 것을 뜻한다. 객체는 객체마다 고유한 성격을 가진다는 특징이 있다. 무슨 말인가 하면, 동일한 클래스로 만든 객체들은 서로 영향을 전혀 주지 않는다는 것이다. 객체와 인스턴스의 차이 a = Calc() - 관계 위주로 설명 할 때 사용하는 것 똑같지만 어떤 것이 주체인가에 따라 다르..
우준세
준세 단칸방