본문 바로가기

Python58

[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] 파이썬 환경변수 가져오는 방법(os.environ) 및 예제 '환경변수(Environment Variable)'는 프로그램이 실행될 때 운영체제에서 설정해주는 변수 값을 의미한다. 환경변수는 프로세스가 운영체제에서 동작하는 방식에 영향을 미치는 동적인 값들의 모임이다. 애플리케이션 레벨에서 설정하기 어려운 값들을 환경변수에 설정하고 프로세스를 실행하는 경우가 많다. 쉘 스크립트에서는 env 명령을 통해 현재 설정되어 있는 환경변수 리스트를 얻어올 수 있는데 파이썬 코드에서는 어떻게 환경변수의 값에 접근할 수 있는지 알아보자. os.environ 파이썬 내장 모듈인 os 모듈에는 environ이라는 속성이 있다. environ 속성에는 파이썬 코드에서 접근할 수 있는 환경변수의 이름과 값이 딕셔너리 형태로 저장되어 있다. import os print(os.envir.. 2022. 12. 24.
[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.