반응형

Python 7

Python의 단점

1. Static typing을 할 수 없다.def f(x:int)->int: return x+1f("asdf")나한테 파이썬의 가장 큰 단점을 꼽으라고 한다면 단연 dynamic typing이다. 위 코드에서 함수 f는 정수 x를 입력으로 받아 x+1을 반환하는 함수이다. 그런데 여기에 문자열 asdf를 넣는 코드를 작성했다. 컴파일 언어라면 컴파일 자체가 안 되겠지만, Python은 인터프리터 언어다. 따라서, 소스 코드를 꼼꼼히 읽어보지 않는 이상 f("asdf")라는 얼토당토않은 코드를 작성해도 코드를 직접 실행해서 TypeError를 뿜는 것을 보기 전까지는 코드가 잘못되었다는 것을 알 수가 없다. 그리고 프로그램에 분기점이 많아지면, 단위 테스트를 작성하지 않는 이상 모든 코드를 다 실행..

Python 2024.10.03

while문에서 time.sleep의 필요성

아래 코드는 while문이 1초 동안 몇 번 반복되는지 알아보는 코드이다.import timea = time.time()b = 0while True: b += 1 if time.time() - a > 1: breakprint(b)3956691번 반복된다고 나온다.import timea = time.time()b = 0while True: b += 1 if time.time() - a > 1: break time.sleep(0.001)print(b)위 코드를 실행시켜보면 68번 반복된다.time.sleep(0.001)만 넣었을 뿐인데, 어마어마하게 반복 횟수가 줄어들었다. 이는 CPU 이용률을 줄일 수 있는 가장 쉬운 방법이다.

Python 2021.05.17

pyautogui 클릭 안 될 때 해결 방법

import pyautogui pyautogui.click(x=100,y=200) 저렇게 하면 모니터 상의 좌표 (100, 200)으로 마우스가 이동해서 클릭을 하게 된다. 근데 저렇게 하고 파이썬 코드를 실행해보면 클릭이 되지 않는 경우가 있다. 그런 경우는 클릭하려는 곳에 실행되어 있는 프로그램이 관리자 권한으로 실행된 것이라서 그럴 수 있다. 그런 경우에는 위 파이썬 코드를 관리자 권한으로 실행하면 바로 해결된다.

Python/pyautogui 2020.11.13
반응형