반응형

파이썬(Python)/문법 61

[Python] 파이썬 클래스 상속과 Super 사용 방법(Class)

목차 [Python] 파이썬 클래스 상속과 Super이란? 파이썬은 클래스(Class)간에 상속이 가능 합니다. 부모 클래스를 상속 받은 자식 클래스는 부모 클래스의 메소도(Method)를 사용할 수 있게 됩니다. super 함수는 자식 클래스와 객체 값을 받아서 부모 클래스의 함수에 접근하는 방식 입니다. 아래 예제를 통해 쉽게 이해해 보도록 하겠습니다. 예제 코드>> class F(): def __init__(self): print("Father") def how_old(self): print("I'm 55") class S(F): def __init__(self): print("Son") def who(self): print("I'm Son") a_var = S() a_var.how_old() a_..

[Python] 내장 함수란? 확인 방법 (아래 밑줄 2개, underscore, __init__, __repr__)

목차 파이썬 내장 함수란? 파이썬이란 객체 지향 언어(OOP, Object Oriented Programming)으로 변수 선언이나 내부에 함수들은 실제 클래스로 이루어져 있습니다. 그리고 각 클래스에는 메소드(Method)라는 함수로 특성 기능을 수행할 수 있습니다. 여기서 언더스코어(Underscore, 밑줄) 두 개로 표기된 함수를 가끔 보신적이 있습니다. 이는 클래스가 가진 자체 내장 함수라고 생각하시면 됩니다. 예제 코드>> var_a = 7 print(type(var_a)) print(repr(var_a)) 결과>> 7 위에 예제 코드에서 var_a를 7이라는 정수(integer)로 선언 합니다. 그리고 type으로 확인 결과 int 라는 클래스 임을 알 수 있습니다. 그리고 Class int..

[Python] 멀티스레딩과 Global 변수 공유 방법(Multi threading, thread)

목차 앞서 멀티스레드(Multi Thread)의 정의와 기본적인 사용방법에 대해 알아보았습니다(https://scribblinganything.tistory.com/568). 이번 시간에는 실제 여러개의 멀티 스레딩이 동작할 때 서로간에 변수(variable)를 공유하거나 주고 받아야 하는 일들이 있습니다. 이때 변수를 각 각의 스레드가 어떻게 이용하는지에 대해 알아보겠습니다. 예를 들어 pyserial과 같은 통신 모듈을 사용할 경우 통신 모듈은 별도의 thread에서 동작 시키고 모듈에서 나오는 값들을 다른 thread에서 값을 이용하고 싶은 일들이 발생합니다. 이럴때 사용하는 것이 변수 공유 방법입니다. 파이썬 멀티스레딩(Multi threading) Global 변수 앞서 멀티 프로세스(Proce..

[Python] 멀티스레드란? 사용법, 예제 (Multi thread, target, args, start, join)

목차 앞서 멀티 프로세스(Multi process)의 의미와 사용 방법에 대해 이야기 해보았습니다(https://scribblinganything.tistory.com/566). 이번 시간에는 멀티 쓰레드(Multithreading)에 대해 알아 보겠습니다. 파이썬 멀티스레드(Multi threading)란? 멀티프로세스는 각 각의 프로세스가 독립된 메모리를 가지고 동작한다고 하였습니다. 그러므로 컴퓨터 내의 자원을 많이 소모하게 됩니다. 하지만 드레드(Thread)의 경우 Thread라는 의미가 가지는 실과 같이 하나의 프로세스 내에서 여러개의 실들이 각 각 움직이게 됩니다. 그리고 그 실(Thread)은 내부의 메모리를 공유하면서 각 각 움직이므로 프로그램이 가벼워 집니다. Thread의 특징을 정리..

[Python] 멀티프로세스, 변수 교환 방법(Queue, Pipe, Multiprocess, Multitask, 파이썬)#2

목차 앞서 포스트에서 멀티프로세서(Multiprocess) 선언과 사용법에 대해 알아보았습니다(https://scribblinganything.tistory.com/563). 이번 시간에는 각 프로세스 간에 통신을 하여 값을 주고 받거나 대기를 사용해서 하나씩 처리하는 방법에 대해 알아보겠습니다. 프로세스는 각 각 별도의 메모리를 사용하므로 pipe라는 장치를 사용해서 데이터를 주고 받아야 합니다. pipe : 멀티 프로세스(Multiprocess) 간에 통신으로 값을 주고 받기 queue : 멀티 프로스세(Multiprocess)의 입력 값을 queue에 넣고 원할 때 마다 처리 하기 파이썬 멀티프로세스(Multiprocess) 변수 교환 방법(Pipe) 프로세스 간에 값을 주고 받는 방식은 아래 예제..

[Python] 멀티프로세스, 동시 작업(Multiprocess, Multitask, 파이썬) #1

목차 파이썬 멀티 프로세싱이란? (Multi Processing) 파이썬은 위에서 아래로 코드가 진행되고 while 문에 걸리면 그 동안 다른 프로그램을 실행 할 수 없습니다. 이를 해결 하기 위해 파이썬에서 아래와 같이 3가지 방법을 제공 합니다. 멀티프로세싱(Multiprocessing) 멀티스레드(Multithread, threading) 인터럽트(Interrupt) 사실 인터럽트는 동시에 진행하는 것처럼 보이지만 실제로는 말 그대로 중간에 인터럽트가 발생하면 잠시 인터럽트 일을 처리하고 나머지 남은 일을 처리 하는 것입니다. 실제 pyserial이나 blutooth 통신을 하거나 DB와 연결하거나 등 연결쪽을 위한 프로그램이 동작하면서 동시에 처리쪽도 멈추지 않고 동작해야하는 경우들이 종종 있습니..

[Python] Try Except Else Finally Raise 구문 사용 방법, 예제 (파이썬)

목차 파이썬 try except else finally 문이란? 파이썬을 구현하면서 파일을 처리하거나 인터넷이나 시리얼(Serial) 통신에 연결할때 예상치 못한 에러(error)가 발생할 수 있습니다. 이와 같이 프로그램에 발생하는 에러는 예외(Except) 처리가 되고 에러 메세지와 함께 프로그램이 종료 됩니다. 파이썬 내장 예외처리에서 위와 같은 작업을 진행하지만 사용자가 직접 예외처리를 만들 수 있는데 이때 사용하는 명령어가 try except 입니다. try : try 아래 블럭을 에러가 있어도 시행해봅니다. except : try 아래 블럭에서 에러 발생 시 에러를 어떻게 처리할지 결정합니다. else : try 아래에서 에러가 없을 경우 시행 합니다. finally : try 에러 여부에 관..

[Python] 파이썬 yield란? 사용목적 (Generator, 제너레이터)

목차 파이썬 yield와 generator의 의미 간단히 말해서 파이썬의 generator란 반복(iterator) 동작을 간단하게 실행시켜주는 방법입니다. generator를 만들때 일반적인 함수를 정의하면서 return 문구를 쓰는 것이 아닌 yield를 사용합니다. generator 함수는 최소 하나의 yield 를 포함 next() 메소드가 자동으로 실행됨 yield가 실행되면 함수는 중단하고 control이 콜러(caller)에게 넘어감 코드를 통해 직접 설명드리겠습니다. 예제 코드>> def gen_func(): yield 1 print(gen_func()) 결과>> 위 예제 코드와 같이 gen_func 함수에 yield가 포함되기 때문에 해당 함수는 generator가 됩니다. 파이썬 yie..

[Python] 람다 함수란? 사용하는 목적(Lambda Function, Why)

목차 파이썬 람다 함수(Lambda Function)란? 파이썬의 람다함수는 인자 값(arguments)들을 이용해서 하나의 표현으로 처리하는 함수를 의미합니다. Sytax는 아래와 같습니다. lambda arguments : expression arguments에는 인자 값을 입력하고 expression에 함수식을 입력합니다. 아래 예제를 통해 쉽게 이해해 보겠습니다. 예제 코드>> lam_func = lambda a, b : (a + b)/10 print(lam_func(2,8)) 1번 라인: 인자로 a, b를 넣고 함수는 (a+b)/10로 설정함 결과>> 1.0 위와 같이 함수를 1줄로 정의해서 간단하게 제작하였습니다. 인자 수는 원하는데로 여러개를 가지고 갈 수 있습니다. 파이썬 람다 함수(Lam..

[Python] 정규표현식으로 파일(XML, txt, html) 내용 검색(필터)하기 (re, match, compile, finditer)

목차 이번 포스트에서는 정규표현식(Regex)을 사용해서 텍스트 파일이나 웹문서(html, xml) 파일을 검색(search)해서 필터링(filtering) 하는 방법에 대해 알아보겠습니다. 파일 검색에 필요한 정규표현식 함수 파일 검색에 사용할 정규표현식 함수는 아래와 같습니다. re.compile(정규표현식) re.finditer(compile 출력값, 문장) compile은 정규표현식을 입력으로 받습니다. 그리고 출력된 값을 변수에 저장하고 finditer 함수의 입력값으로 넣어주면 두번째 인자값인 문장에서 해당 정규표현식에 맞는 조건을 찾고 있으면 검색 결과를 출력 해줍니다. 실제 사용 방법은 아래 예제를 통해 쉽게 이해하실 수 있습니다. 미세먼지 데이터파일(XML) 검색하기 예제 예제를 실행하기..

반응형