본문 바로가기

Python24

7. python, 추상 클래스 파이썬에서도 추상 클래스, 추상 함수가 존재합니다. ex) from abc import ABCMeta, abstractmethod class AbstractTest(metaclass==ABCMeta): def __init__(self): pass @abstractmethod def run(self): 추상 클래스를 사용하고 싶다면 클래스 이름 앞에 abstract, 괄호 안에 metaclass==ABCMeta를 삽입하면 됩니다. 또한 @abstractmethod를 붙혀서 추상 함수를 만들 수 있습니다. 2021. 1. 13.
6. python, magic method 파이썬에서는 Initializer(__init__) 이외에도 이런 형식의 이름을 가진 메서드들이 많습니다. __del__ : del함수 사용하는 경우 __add__ : 두 개의 객체를 +로 더할때 사용됨 __sub__ : 두 개의 객체를 -로 뺄때 사용됨 __cmp__ : 두 개의 객체를 비교할 때 사용됨 __str__ : str함수 사용하는 경우 __enter__ : init 바로 다음에 실행되는 함수 __exit__ : 소멸자 ex) def __add__(self, other): width = self.width + other.width height = self.height + other.height return Rectangle(width=width, height=height) 2021. 1. 13.
5. python, @method 파이썬에서는 @으로 여러 설정을 지정해 줄 수 있습니다. ex) @staticmethod # 정적 메서드 # 정적 메서드는 self 필요하지 않음 정적 메서드 사용시, 그 함수는 self가 필요하지 않습니다. 이는 굳이 class를 따로 만들 필요 없이 함수만 사용하고 싶은 경우 만들게 됩니다. 실제로 클래스 안에 들어갈 필요는 없지만, 로직 상 class안에 있어야 하는 경우, 주로 사용됩니다. @classmethod def printCount(cls): print(cls.count) @classmethod를 붙인 함수는 마찬가지로 클래스를 만들 필요 없이 사용 가능하며, 클래스 변수를 알고 싶을 경우 주로 이용됩니다. 2021. 1. 13.
4. python, zip 두 개 이상의 list를 같이 출력하고 싶을 때는, zip함수를 사용하면 코드 개수도 줄어들고, 속도도 빠른 프로그램을 만들 수 있습니다. ex) list1 = list(range(10, 100)) list2 = list(range(20, 110)) for i in range(len(list1)): print(list1[i], list2[i]) # zip 사용하지 않고 for문으로 print 이러면 코드의 길이도 길어지며, for문을 사용하게 되어 실행 시간이 길어집니다. list1 = list(range(10, 100)) list2 = list(range(20, 110)) result = zip(list1, list2) print(list(result)) # zip을 활용함 반대로 zip을 활용하면, .. 2021. 1. 13.
3. python, enumerate 활용하기 list와 관련된 for문 중 반복되는 횟수를 알고 싶을 경우, enumerate 함수를 활용하면 됩니다. enumerate 함수는 빠르다는 강력한 장점이 있습니다. ex) list1 = list(range(10, 100)) for i in range(len(list1)): print(i, list1[i]) # enumerate를 활용하지 않는 경우 위와 같은 경우는 enumerate를 활용하지 않는 경우이며, 속도가 느리다는 단점이 있습니다. list1 = list(range(10, 100)) for idx, i in enumerate(list1): print(idx, i) # enumerate를 활용한 경우 enumerate를 활용할 경우, 코드도 짧아지고 실행 속도도 빨라집니다. 2021. 1. 13.
2. Python에서 List Comprehension 일반적으로 사용하는 for문은 속도가 느리고 비효율적입니다. 그 이유는 C스타일이기 때문이며, 파이썬과는 살짝 맞지 않는 구석이 있습니다. 따라서 List Comprehension을 자주 활용하는 것이 좋습니다. ex) num = list(range(10)) result = [] for i in num: result.append(i) print(result) # for문 활용함 이렇게 for문을 활용하는 것 보다는, num = list(range(10)) result = [i for i in num] print(result) # List Comprehension 활용 List Comprehension을 활용하는 것이 코드도 짧아지며, 속도가 더 빠릅니다. 이를 활용하면 구구단 리스트도 간단하게 만들어 볼.. 2021. 1. 13.
1. python 작은 팁 모음! (추가 예정) 개요 이 게시물에서는 python에서 활용할 수 있는 작은 팁들을 모을 것입니다. 비중있게 다룰 팁은 게시물을 별도로 작성할 것이며, 사소한 팁은 이 게시물에 작성할 것입니다. 팁 모음 1. 파이썬에서 내가 생각하는 것은 누군가가 다 해놓았다! 2. ctrl + / 로 주석 처리 가능 3. +, -, = 등은 대부분 띄어서 표기, *와 /, 괄호, 괄호 안의 내용은 띄어쓰기 안하는 것을 권장 4. 파이썬에서는 while문 보다는 for문이 더 빠름 5. for문 다음에 else문이 나올 수도 있음 6. python에서는 입출력 방식을 빠르게 하기 위한 방법이 있다 input 대신 sys.stdin.readline() 사용하면 더 빨라지며, 이때는 맨 끝 개행문자까지 입력받기 때문에, rstrip()을 추.. 2021. 1. 13.
[python]아나콘다(anaconda) 설치 방법 및 설명 개요 아나콘다는 파이썬 사용시 함께 사용하는 효율적인 관리 프로그램입니다. 이번 글에서는 아나콘다의 필요성, 설치 방법, 설치 후 이용 방법에 대해 서술할 예정입니다. 목차 · 아나콘다란? · 아나콘다 설치 방법 · 아나콘다 이용 방법 · 아나콘다란? 아나콘다는 여러 패키지를 기본적으로 포함하고 있는 파이썬 배포판입니다. 때문에 머신러닝과 데이터 분석 시 편리하게 사용할 수 있습니다. 아나콘다의 또 다른 장점은 버전관리 입니다. 파이썬으로 개발을 진행하면 여러 오픈소스들을 활용하게 되는데, 서로간의 버전이 달라지거나 업데이트를 하다 보면 충돌이 일어날 수 있게 됩니다. 이때, 아나콘다로 가상환경을 구현하면 버전을 유지하면서 작업할 수 있다는 장점이 있습니다. · 아나콘다 설치 방법 우선 www.anaco.. 2021. 1. 5.