Python/Study 18

python 기초 - multiprocessing

이번편은 파이썬의 process에 대한 내용이다. 아래 process를 실행하면 process name과 id 값을 알 수 있고 id는 계속 실행하면 바뀌는 것을 확인할 수 있다. import multiprocessing as mp def Process(): proc = mp.current_process() print(proc.name) print(proc.pid) Process() MainProcess 1136 MainProcess 5936 이번에는 Subprocess라는 이름을 가진 process를 만들고 해당 process를 통해 Process_start라는 함수를 실행시켜 보자. Subprocess id도 확인이 가능하다. import multiprocessing as mp import time ..

Python/Study 2023.01.16

python 기초 - Thread (쓰레드) - daemon, join, 객체 등

이번편은 파이썬의 thread이다. thread는 함수 등을 독립적으로 실행시켜 주기 때문에 아주 중요한 개념이고, schedule과 같이 사용하는 등 다양하게 활용이 가능하다. 우선 첫번째 방법은 thread를 통해 별도의 함수를 실행시키는 것이다. import threading def print_sth(): print("thread test") thd = threading.Thread(target=print_sth) thd.start() thread test 단순하게 함수를 실행시키는거랑 뭐가 다르지? 할 수 있다. 이제 아래 내용을 확인해보자. 실행시키면 첫번째 함수가 다 수행되고, 이어서 다음 함수가 수행된다. 만약 동시에 수행하고 싶다면? import threading import time de..

Python/Study 2023.01.16

python 기초 - queue

이번에는 파이썬의 queue에 대해서 알아보고자 한다. Queue 모듈을 import하면 사용할 수 있다. put은 que에 값을 저장하고, get은 해당 que에서 저장된 값을 하나씩 빼온다고 보면 된다. 아래처럼 1을 que에 넣고 1을 빼서 print하면 1이 출력된다. from queue import Queue que = Queue() que.put(1) print(que.get()) 1 이번에는 que가 쌓인다는것을 보기 위해 1~10까지의 값을 que에 먼저 집어넣고 0.2초마다 한번씩 que에 든 값을 빼서 출력해보자. from queue import Queue import time que = Queue() def queue_put_test(): for i in range(1,11): que..

Python/Study 2023.01.16

python 기초 - decorator

파이썬의 decorator안 데코라는 뜻 처럼 기존 함수를 수정하지 않고 데코레이션을 통해 함수를 수정하는 것이다. 우선 기존의 밋밋한 함수를 보자 def print_test(): print("deco test") print_test() deco test print_test란 함수를 실행시켰는데 해당 무구만 출력되니 뭔가 단조로운 느낌이다. decorator를 사용해서 출력되는 문구의 위 아래에 다른 것들이 출력되도록 하자. def decorator(deco): def deco_print(): print("="*50) deco() print("="*50) return deco_print @decorator def print_test(): print("deco test") print_test() =====..

Python/Study 2023.01.15

python 기초 - 변수가 있는지 확인하기 (hasattr / getattr / setattr)

이번 편은 변수가 있는지 확인하기 (hasattr / getattr / setattr) 이다. 1. hasattr 클래스로 만든 객체에 해당 변수가 있는지 확인한다. 있다면 True, 없다면 False class check(): check1 = 10 check2 = 20 check3 = 30 test = check() print(hasattr(test, "check1")) print(hasattr(test, "check2")) print(hasattr(test, "check3")) print(hasattr(test, "check4")) True True True False 2. getattr 클래스로 만든 객체에 해당 변수가 있는지 확인하고 해당 값을 가져온다. class check(): check1 =..

Python/Study 2023.01.15

python 기초 - 지역변수, 전역변수, 동적변수 (local, global, globals 등)

이번 편에서는 지역변수와 전역변수에 대해 알아보고자 한다. 지역변수는 뭐고 전역변수는 뭘까? 말 그대로 지역 변수란 함수 내에서만 쓸 수 있는 변수이며, 전역 변수는 해당 함수 뿐만 아니라 모든 곳에서 쓸 수 있는 변수이다. 매번 그렇듯 간단한 예제와 함꼐 알아보자. 처음 나오는 변수는 전역변수이고, 함수에서 정의한 지역변수이다. 따라서 함수를 실행시키고 변수값을 확인해도 처음에 설정한 10이 출력된다. local_value = 10 def local(): local_value = 20 local() print(local_value) 10 이번에도 마찬가지로 함수에서 생성한 지역 변수는 함수에서만 20이 적용되고 밖으로 나오면 다시 10이 출력된다. local_value = 10 def local(): ..

Python/Study 2023.01.15

python 기초 - 예외 처리 (try, except, finally, Error처리)

이번에는 예외 처리 (try, except, finally, Error처리)에 대해 다루어보고자 한다. 에러 한번 났다고 파이썬 프로그램이 종료될 수 없으니 예외 처리를 해서 다양한 사태에 대비를 하고 에러 로그를 분석해서 코딩을 더욱 정교하게 수정할 수도 있다. 우선 에러처리기 때문에 에러를 만들어보면서 확인해보자. int("string") 당연히 에러가 난다. PS C:\pymin2> & C:/Users/min/AppData/Local/Programs/Python/Python38/python.exe c:/pymin2/py_study/try,except_test.py Traceback (most recent call last): File "c:/pymin2/py_study/try,except_test...

Python/Study 2023.01.15

python 기초 - 한줄 수식 정리 (for, if 등) + zip, *zip

이전 편에서 if, for 등에 대해서 언급하면서 한줄 수식에 대해서 잠깐 언급했었다. 2022.12.08 - [Python/Study] - python(study) - class (부모, 자식 class, init, super) 이번에는 조금 더 자세히 알아보자. 우선 한번 설명했었던 한줄 for 문이다. 아래처럼 기존 list의 값을 원하는대로 바꿔서 새로운 list를 만들 수 있다. one = [1,2,3] print(one) one_for = [i + 10 for i in one] print(one_for) [1, 2, 3] [11, 12, 13] 다음은 if 문을 한줄로 만들어보자. if 구문이 들어가고 조건에 맞으면 ( : ) 이후 내용을 수행한다. if 5 > 1 : print("YES") ..

Python/Study 2023.01.15

python 기초 - class (부모, 자식 class, init, super)

class는 다들아는것처럼 붕어빵 틀과 같다. 다양한 값을 가진 변수를 생성할 수 있다. class Person: def __init__(self, name): self.name = name print(f"{self.name} 태어남") p1 = Person("pymin") p2 = Person("pymin2") pymin 태어남 pymin2 태어남 아래처럼 함수추가하면 변수에 .{함수} 로 만든 변수에 함수를 추가로 실행할 수있다. class Person: def __init__(self, name): self.name = name print(f"{self.name} 태어남") def school(self, school_name): print(f"{self.name}이/가 {school_name}에 입..

Python/Study 2023.01.15

python 기초 - 함수 (*args, **kwargs)

함수란 다들 알다시피 함수를 만들고 원하는 값을 넣으면 함수 안의 내용이 수행된다. 함수에서 자주 사용하는 기능을 알아보자. def sum_sum(a,b,c): print(a+b+c) sum_sum(1,2,3) sum_sum(3,4,5) 6 12 1. 함수로 무언가 계산을 하거나 계산하는 값을 return 할 수 있다. def sum_sum(a,b,c): return (a+b+c) result_1 = sum_sum(1,2,3) print(result_1) result_2 = sum_sum(3,4,5) print(result_2) 6 12 2. 함수의 기본값을 설정할 수 있다. 기본값을 설정하면 함수에 해당 내용을 입력하지 않아도 에러가 나지 않고 기본값이 적용된다. def sum_sum(a,b=2,c=3..

Python/Study 2023.01.15