Python/Language 11

[Python] lambda 식, map, filter

1. lambda 식이란? - 이름을 지정하지 않는 함수 - 1회성으로 사용하며, 변수로 지정하여 반복 사용할 수 도 있다. - lambda 식은 다음과 같이 사용한다 lambda 매개변수 : 함수 내 코드 ex>lambda x : x+2 2. map 이란? - 사용자가 입력한 함수의 결과를 매핑해주는 역할 num = [1,2,3,4,5] def big_num(n): if n>3: return 'big' else: return 'small' result = list(map( big_num , num)) - 람다식을 이용하여 다음과 같이 작성할 수 있다. result = list(map( lambda n : ('big' if n>3 else 'small') , num)) 3. filter 란? - 조건이 ..

Python/Language 2024.01.23

[python] 튜플 과 SET

1. 튜플이란? - 리스트와 동일하지만 수정이 불가능한 읽기 전용 - 다음과 같이 사용할 수 있다. student = [{ name : 'John', age : 5 }, { name : 'Tom', age : 7 }] student = [('John', 5 ), ( 'Tom', 7 )] 2. SET 이란? - 집합이라고 부를 수 있다. - JAVA 의 SET 자료구조와 동일하다 - 값을 입력할 때, 중복을 제거해 준다. - 다음과 같이 사용할 수 있다. num1 = [1,2,3,4,5,6] num1_set = set(num) num2 = [1,2,5,6,7] num2_set = set(num) - 교집합 ( & ) ex> num1 & num2 - 합집합 ( | ) ex> num1 | num2 - 집합 (..

Python/Language 2024.01.23

[Python] 멀티 스레드

1. 멀티 스레드란? - 하나의 프로세스 안에 동시에 작업이 진행되어야 하는 경우 매우 빠르게 번갈아가면서 작업을 실행하여 거시적으로는 동시에 여러가지 작업을 진행하는 것(동시성) 2. 멀티 프로세스란? - 코어를 여러개 사용하여 실제로 동시에 작업을 진행하는 것(병렬성) 3. 멀티 스레드 사용 방법 import threading import time def creator(): print('---생성---') time.sleep(1) def consumer(): print('---사용완료---') time.sleep(1) print('메인작업') creator = threading.Thread(target=creator) consumer = threading.Thread(target=consumer) c..

Python/Language 2023.08.17

[python] 정규표현식(Regex)

1. 정규표현식이란? - 문자열을 추출, 검사, 편집 할때 사용한다. - 가독성이 떨어지만 코드의 길이가 줄어든다는 특징이 있다. 2. 정규표현식 사용방법 - Flags - Character classes . : 개행문자를 제외한 모든 문자(줄바꿈 제거) \w : 문자열 중 알파벳 숫자인 모든 문자를 선택(word) \W : 문자열 중 알파벳 숫자를 제외한 모든 문자를 선택(띄어쓰기도 포함) \d : 문자열 중 숫자인 모든 문자를 선택(digit) \D : 문자열 중 숫자를 제외한 모든 문자를 선택 \s : 문자열 중 공백을 선택(whitespace) \S : 문자열 중 공백을 제외한 모든 문자를 선택 [] : 대괄호([])안에 포함된 문자를 OR로 선택 ex> : [abc] : a, b, c 중 어느 ..

Python/Language 2023.08.17

[python] 함수

1. 함수 정의 - 함수의 기본구조 def 함수명(매개변수): 형태로 함수를 정의한다. def cal(num1,num2): return num1+num2 print(cal(1,2)) --> 화면에 3이 출력된다. (num1 = 1, num2 =2) - 매개변수는 위치로 값을 넘겨 줄 수 있으며 초기값을 할당 할 수 도 있다. def cal(num1,num2=4): return num1+num2 print(cal(1)) --> 화면에 5가 출력된다 (num1 =1, num2 =4) print(cal(1,2)) --> 화면에 3이 출력된다. - 매개변수를 키워드로 매칭 할 수 도 있다. def cal(num1, num2=4): return num1 + num2 print(cal(num1=1,num2=2)) ..

Python/Language 2023.08.15

[python] 메모리 할당과 복사

1. 메모리 할당이란? - python은 기본적으로 데이터 값을 하나의 객채로 인식하여 객체의 주소값을 연결한다. - 예를 들면, x = [1,2,3,4] y = x y[0] = 0 print(x) -> [1,2,3,4] 가 아닌 [0,2,3,4] 가 출력이 된다. 즉 대입 연산자를 사용하면 값의 복사가 일어나는 것이 아닌 객체의 같은 주소값을 복사함으로 다른 변수에서 특정 주소값의 값을 수정하면 연결된 모든 변수에서 그 값이 수정된 후로 출력된다. 2. 복사 - 리스트에서 대입이 아닌 복사(같은 값을 가지는 새로운 객체를 생성하여 주소값을 할당)를 원할 경우 다음과 같이 사용한다. x = [1,2,3,4] y = x.copy() y[0] = 0 print(x) -> [1,2,3,4] 출력 - 2차원 이..

Python/Language 2023.08.10

[Python] 예외처리

1. 예외처리란? - 개발자의 의도와 다르게 입력이 들어올 경우, 프로그램의 오류를 방지하는 것 2. 예외처리 방법 - 코드 작성 후 예외가 발생할 수 있는 상황에 try, except키워드를 다음과 같이 사용한다. try: #예외가 발생할 수 있는 코드 except: #예외가 발생시 실행할 코드 try: #예외가 발생할 수 있는 코드 except 예외명칭지정: #예외가 발생시 실행할 코드 try: #예외가 발생할 수 있는 코드 except 예외명칭지정 as e: print(e) # 발생한 예외 명칭 출력 else: #예외가 발생하지 않았을 경우 실행 finally: #예외와 관계없이 항상 실행되는 코드 3. 예외 클래스 생성 - Exception 클래스를 상속받아서 사용자 지정 예외처리를 다음과 같이 ..

Python/Language 2023.08.04

[Python] 모듈

1. 모듈이란? - 프로그램을 기능별로 파일을 나누어 유지보수의 효율성을 높일 수 있는 기능 2. 모듈 사용법 - 다른 파일을 사용하여 코드를 작성 후 import 모듈이름 을 사용하여 불러온다. ex) import math print(math.pi) #부분적인 기능만 불러올 경우 ex) from math import pi print(pi) 3. 외부 모듈 사용법 - 터미널에서 명령어 pip install 모듈이름 으로 해당 모듈을 다운로드 가능하다. ex) pip install scipy 4. as - 모듈을 불러올 때, 다음과 같이 모듈명을 변경하여 사용할 수 있다. ex) import math as m print(m.pi) ex) from math import pi as p print(p) - 추가..

Python/Language 2023.08.03

[Python] 클래스 상속

1. 클래스 상속이란? - 클래스간 멤버변수나 멤버 함수를 공유할 수 있는 기능을 제공한다. 클래스 설계시 결정하며 코드 공유를 통하여 유지보수의 효율성을 높인다. 또한, OOP의 핵심 개념이며 상속을 통하여 클래스간 관계를 형성할 수 있다. 2. 클래스 상속 방법 - 클래스의 상속 방법은 다음과 같다. class 상속받는class명(부모클래스명): ex) class Member: def __init__(self, name); self.name = name def view(self): print(self.name) class Student(Member): #오버라이딩 (정의하지 않으면 member의 함수와 동일하게 사용할 수 있고, #재정의를 하면 자식 클래스에서는 재정의 된 방식으로 메서드를 사용할 수..

Python/Language 2023.08.03