본문 바로가기

Python55

[Python] 정적 메소드 @staticmethod, @classmethod 사용법 및 차이점 파이썬에서는 @staticmethod와 @classmethod 데코레이터를 통해서 정적 메소드를 지원한다. 정적 메소드는 객체를 생성하지 않고 클래스에서 직접 접근할 수 있는 메소드를 의미한다. instance method 인스턴스 메소드(instance method)는 객체를 통해서 호출된다. 예를 들어 다음과 같은 클래스가 있다고 해보자. class MyClass: def __init__(self, data): self.data = data def print_data(self): print(self.data) my_class = MyClass('new data') my_class.print_data() MyClass 클래스의 print_data() 메소드는 인스턴스 메소드다. 인스턴스 메소드는 첫 번.. 2023. 1. 14.
[Python] 정규표현식 사용하는 방법 - re 모듈 사용방법 및 예제 문자열을 다루는 가장 간단하고 강력한 방법은 정규표현식을 사용하는 것이다. 정규표현식(Regular Expressions)을 통해 복잡한 문자열 처리를 몇 줄의 짧은 코드만으로 간단하게 처리할 수 있다. (정규표현식은 Regex 혹은 정규식으로 줄여서 표현하기도한다) 정규표현식 자체는 파이썬만의 고유기능은 아니다. 다른 프로그래밍 언어에서도 지원되는 기능이다. 메타 문자(Meta Characters) 정규표현식에서 메타 문자들은 특별한 용도로 사용되는 문자들을 말한다. 문자가 가진 원래 의미가 아닌 특별한 의미를 부여받아 사용되는 문자들이 있다. 정규표현식에서 다음과 같은 메타 문자들이 있다. . ^ $ * + ? { } \ [ ] | ( ) 각 메타 문자들이 정규표현식에서 어떤 의미로 사용되는지 알아보.. 2022. 11. 10.
[Python] 파이썬 문자열 다루기 파이썬에서 문자열을 다루는 방법들을 총 정리해보자. 파이썬 문자열 문자열이란 문자들의 나열이다. 파이썬에서는 4가지 방법으로 문자열을 생성할 수 있다. str1 = 'string1' str2 = "string2" str3 = '''string3 with multiple lines ''' str4 = """string4 with multiple lines """ 파이썬에서는 작은 따옴표와 큰 따옴표 한개 혹은 작은 따옴표와 큰 따옴표 세개로 문자열을 표현할 수 있다. 문자열을 만들 수 있는 방법이 여러개가 지원되는 이유는 편의성 때문이다. 예를 들어 "I'm Dave"처럼 문자열 안쪽에 작은 따옴표가 들어가는 경우 큰 따옴표로 문자열을 만들어 작은 따옴표 문자를 별도로 이스케이프 처리하지 않아도 된다. 이.. 2022. 11. 10.
[Python] 파이썬 클래스 사용법 및 예제 파이썬은 클래스(class)를 통해 객체지향프로그래밍을 지원한다. 파이썬을 단순 스크립트 작성용으로 사용할 경우 클래스까지 필요하지 않을 수 있다. 하지만 파이썬을 이용해서 좀 더 복잡하고 큰 프로젝트를 하는 경우에는 클래스를 활용해서 코드의 재사용성을 늘릴 수 있고, 프로그램을 적절하게 모듈화해서 유지보수하기도 편해질 수 있다. (물론 잘써야…) 파이썬 클래스 파이썬에서는 클래스를 다음과 같은 문법으로 정의할 수 있다. class MyClass: def __init__(self): # 생성자 구현 pass def method1(self): # 메소드 구현 pass class 키워드 뒤에 정의하고자하는 클래스의 이름을 입력한다. 그리고 콜론으로 클래스를 정의하기 위한 블럭을 시작한다. 이후 def 키워드.. 2022. 11. 10.
[Python] 문자열 포맷팅하는 방법 - format(), %, f-string 사용방법 및 예제 파이썬으로 문자열 포맷팅하는 방법에 대해 알아보자. 파이썬 프로그래밍을 하다보면 문자열을 만들어야 할 경우가 있다. 이 때, 문자열 중간중간 변수 값을 넣어서 문자열을 만드는 경우가 많다. 예를 들어 'Dave의 나이는 27세 입니다', 'Ryan의 나이는 15세 입니다', 'Tim의 나이는 34세 입니다' 같은 문자열을 생각해보자. '?의 나이는 ?세 입니다.'라는 부분이 반복되고, 물음표에 해당하는 부분만 Dave, Ryan, Tim 그리고 27, 15, 34로 바뀐다. '?의 나이는 ?세 입니다.'라는 패턴과 특정 값을 물음표 부분에 채워넣는 것을 문자열 포맷팅이라고 한다. format() 함수 파이썬의 내장 함수인 format()을 이용해서 문자열을 포맷팅할 수 있다. name = 'Dave' a.. 2022. 11. 9.
[Python] 파이썬 예외처리 - try, except, finally, raise 프로그램이 실행되다보면 의도하지 않은 상황을 만나게 되는 경우가 많다. 예를 들어 파일을 오픈해서 데이터를 읽으려고하는데 파일이 존재하지 않는다던가, 어떤 값을 0으로 나누려고 시도했다던가 하는 상황이 발생한다. 파이썬은 이럴 때 에러를 발생시킨다. 예를 들어보자. f = open('not_exists_file.txt', 'r') # Traceback (most recent call last): # File "./test.py", line 1, in # f = open('not_exists_file.txt', 'r') # FileNotFoundError: [Errno 2] No such file or directory: 'not_exists_file.txt' 존재하지 않는 파일을 열려고 했을 때, 파이썬.. 2022. 11. 9.
[python] 파이썬 clipboard 모듈 사용법 및 예제 윈도우에서 작업을 하다보면 [Ctrl] + [C], [Ctrl] + [V] 작업을 많이 한다. 복붙 혹은 복사 붙여넣기라고 부르는 작업이다. 복사 붙여넣기를 할 때, 일단 데이터를 어느 공간으로 '복사'해야하는데, 이 공간을 클립보드라고 한다. 파이썬은 clipboard 모듈을 통해 클립보드를 제어할 수 있다. clipboard 모듈 설치 clipboard 모듈을 사용하려면 일단 설치해야한다. $ pip install clipboard pip 명령을 이용해 간편하게 clipboard 모듈을 설치할 수 있다. $ pip install clipboard Collecting clipboard Downloading clipboard-0.0.4.tar.gz (1.7 kB) Collecting pyperclip>=.. 2022. 11. 9.
[Python] 파이썬 실행시간 측정 방법 파이썬으로 개발하다보면 내가 작성한 프로그램의 실행시간이 어느정도인지 측정하고 싶은 경우가 있다. 이번 포스트에서는 파이썬 코드의 실행시간을 측정할 수 있는 방법에 대해 알아보겠다. time 모듈 파이썬은 시간을 다루는 time 모듈을 제공한다. time 모듈의 time() 함수는 현재 유닉스타임(Unix time, epoch time)을 리턴한다. 즉, 1970년 1월 1일 0시 0분 0초부터 경과된 시간을 숫자 값으로 리턴해준다. 파이썬 프로그램의 실행시간을 측정하기 위해서는 우선 시작 시간을 time.time() 함수로 찍어두고, 시간을 측정할 코드를 실행한 다음 time.time() 함수로 시간을 한번더 가져온다음 시작 시간과의 차이를 계산하면 된다. 예를 들어보자. import math impo.. 2022. 11. 8.
[Python] 파이썬 filter() 함수 사용법 및 예제 파이썬 filter() 함수는 파이썬의 튜플, 리스트, 문자열 같은 시퀀스 자료형에 사용할 수 있는 유용한 함수다. 시퀀스 자료형에 들어있는 엘리먼트들 중에 특정 함수를 적용해서 True가 리턴되는 엘리먼트들만 걸러서(filter) 가져오는데 사용된다. 파이썬 filter() 함수 filter() 함수는 다음과 같이 생겼다. filter(함수, 시퀀스) filter() 함수의 첫 번째 인자로는 함수가 온다. 두 번째 인자로는 리스트, 튜플, 문자열 같은 시퀀스 자료형의 객체가 온다. 시퀀스 자료형의 모든 엘리먼트에 함수를 적용하여 결과에 포함할지 여부를 결정한다. filter() 자체는 filter 객체를 리턴하기 대문에 해당 자료형을 list 혹은 tuple로 변환시켜줘야 한다. 예를 들어보자. def.. 2022. 11. 8.