본문 바로가기

728x90

Programming/Python

[01. Python] 014. 정규 표현식(Regular Expressions) 정규 표현식(Regular Expressions)은 문자열을 처리할 때 사용한다. 줄여서 정규식이라고 한다. 이 표현을 배우면 문자열을 아주 효율적으로 다룰 수 있는 파워풀한 기술을 가지게 된다. 정규식을 배우기 위해서는 메타 문자(Meta Characters)에 대해 알아야 한다. . ^ $ * + ? { } [ ] \ | ( ) 파이썬은 정규 표현식을 지원하는 라이브러리인 re(Regular Expression) 모듈이 있다. 이를 사용하여 정규식에 대해 알아보자. re는 크게 4가지 함수를 제공한다. Method 설명 match() 문자열의 처음부터 정규식과 매치되는지 조사, 객체로 반환 search() 문자열 전체를 검색하여 정규식과 매치되는지 조사, 객체로 반환 findall() 정규식과 매치되.. 더보기
[01. Python] 013. 예외처리 코딩을 하다보면 수 많은 에러가 발생한다. 어떤 에러가 발생했는지 쉽게 파악이 가능해야 디버깅 하기도 편하다. 예외처리를 통하여 에러를 잘 핸들링한다면 보다 유연한 프로그램 개발이 가능할 것이다. 에러에 대한 예외처리의 기본형태는 다음과 같다. try: 1 / 0 except ZeroDivisionError as e: print(e) except IndexError as e: print(e) else: print('오류없음') finally: print('예외처리') 결과 값 division by zero 예외처리 try구문의 실행코드가 에러가 발생하면 except구문에서 처리한다. 위의 코드에서는 1 / 0을 하여 0으로 나눈 에러(ZeroDivisionError)가 발생했다. 이 에러가 발생하면 에러.. 더보기
[01. Python] 012. 클래스 클래스란 함수의 모음이다. 재사용 가능성이 높은 함수를 같은 성격별로 클래스에 넣으면 코딩을 효율적으로 할 수 있다. 예를 들면 계산기에는 더하기, 빼기, 나누기 등 많은 기능이 있다. 이러한 기능은 계산기마다 동일하며 사람마다 계산기를 1개씩 가지고 있으면 계산기의 기능을 재사용하는 사람이 많은 것이다. 이러한 계산기를 클래스로 만들면 다음과 같다. class Calculator: def __init__(self, init): self.result = init def add(self, num): self.result += num def sub(self, num): self.result -= num def mul(self, num): self.result *= num def div(self, num): .. 더보기
[01. Python] 011. 함수 함수란 어떤 기능(function)을 하는 것이다. 반복적인 작업이 있다면 함수화 시켜놓으면 재사용이 가능해서 코드의 효율성을 높여준다. 함수의 기본적인 형태는 다음과 같다. def sum(a, b): return a+b c = sum(1, 2) print(c) 결과 값 3 입력하는 파라메터의 기본값을 설정할 수도 있다. 해당하는 파라메터의 값을 입력하지 않으면 기본값으로 자동 할당된다. def sum(a, b=1): return a+b c = sum(1) print(c) 결과 값 2 입력하는 파라메터의 수가 가변적이면 어떻게 입력해야 할까? *args를 이용하면 된다. def sum(*args): sum = 0 for i in args: sum += i return sum c = sum(1, 2, 3).. 더보기
[01. Python] 010. 제어문 – while while은 반복문이다. for와 다른 점은 조건이 거짓이 될 때까지 무한 반복한다는 점이다. a = 0 while a < 5: print(a) a = a + 1 결과 값 0 1 2 3 4 while안에서도 continue를 사용할 수 있다. a = 0 while a < 5: a = a + 1 if a % 2 == 0: continue print(a) 결과 값 1 3 5 그리고 while문을 강제로 빠져나오기 위해서는 break를 사용하면 된다. a = 0 while a < 5: a = a + 1 if a % 2 == 0: break print(a) 결과 값 1 더보기
[01. Python] 009. 제어문 – for for는 반복문이다. 리스트 안에 있는 값을 한 번씩 돌아가며 조회한다고 생각하면 쉽다. 다음을 보면 쉽게 이해된다. a = [1, 2, 3] for i in a: print(i) 결과 값 1 2 3 for문은 다양하게 활용된다. range함수를 통해 리스트를 생성 후 활용하는 것이 기본적이다. for i in range(0, 5): print(i) 결과 값 0 1 2 3 4 그리고 튜플을 활용할 수도 있다. a = [(1, 2), (2, 3)] for (i, j) in a: print(i, j) 결과 값 1 2 2 3 그리고 zip이란 함수를 이용해 두개 이상의 리스트를 동시에 반복하는 것도 가능하다. a = [1, 2, 3] b = ['a', 'b', 'c'] c = [4, 5, 6] for i, j.. 더보기
[01. Python] 008. 제어문 – if if는 조건문이다. 해당 조건에 해당하면 실행하는 것이다. 형태는 다음과 같다. if x > y: print('x가 y보다 크다') elif x >= y: print('x가 y보다 크거나 같다') elif x < y: print('x가 y보다 작다') elif x 3 else False print(result) 결과 값 False 더보기
[01. Python] 007. 자료형 – 딕셔너리(Dictionary) 딕셔너리는 key와 value의 조합으로 이루어진 집합이다. 사전처럼 key값으로 value를 조회할 수 있다. 딕셔너리의 형태는 다음과 같다. {‘key1’: ‘value1’, ‘key2’: ‘value2’, ‘key3’: ‘value3’} 딕셔너리는 필자가 생각하는 최고의 발명(?)이라고 생각한다. 이를 잘 활용하면 코딩에 많은 도움이 된다. 딕셔너리에 새로운 쌍을 추가하고 삭제하는 방법은 다음과 같다. Dict[key] = value 형태로 입력하면 새로운 쌍이 추가된다. a = {1: 'a', 2: 'b'} a['c'] = 3 print(a) 결과 값 {1: 'a', 2: 'b', 'c': 3} Del Dict[key] 형태로 입력하면 해당 key의 쌍이 삭제된다. a = {1: 'a', 2: '.. 더보기
[01. Python] 006. 자료형 – 불(Bool) 불 자료형이란 참(True)과 거짓(False)을 나타내는 자료형이다. 불 자료형은 True, False 2가지 값만을 가질 수 있다. a = True b = False print(type(a), type(b)) 결과 값 그리고 자료형은 참과 거짓으로 나뉜다. 값 True or False "abc" True "" False [1, 2, 3] True [], (), {} False 1 True 0, None False [표1.2] 자료형의 참과 거짓 print(bool("abc")) print(bool("")) print(bool([1, 2, 3])) print(bool([]), bool(()), bool({})) print(bool(1)) print(bool(0), bool(None)) 결과 값 True.. 더보기
[01. Python] 005. 자료형 – 튜플(Tuple) 튜플이란 리스트랑 유사한 자료형이며 다른 점은 리스트는 [ ]로 감싸지만 튜플은 ( )로 감싼다. 리스트는 요소를 생성, 삭제, 수정이 가능하지만 튜플은 불가능하다는 점이 있다. 튜플의 형태는 다음과 같다. (1, 2, 3, “a”, “b”, “c”) 튜플은 생성, 삭제, 수정이 불가능하다는 점 외에 리스트와 완전히 같으므로 연산, 인덱싱, 슬라이싱, 함수 관련은 리스트를 참고하기 바란다. 더보기
728x90