반응형

Python 10

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

numpy.random.rand

import numpy as npx = np.random.rand(1)print(x)rand(0.1) 하면 error 발생. 흠.... 인수는 1보다 커야 하는군!rand(3.4)해도 error 발생.  흠.... 인수는 1보다 큰 정수만 가능한가 보군!rand(-2) 해도 error 발생.  흠.... 인수는 1보다 큰 양의 정수만 가능한가 보군!import numpy as npx = np.random.rand(3)print(x)결과를 보니, 인수에 N이라는 정수를 넣으면, 원소 갯수가 N인 1차원 배열이 생기고, 각 원소는 0~1사이의 랜덤숫자가 되는 것 같다. 그렇다면 rand(2,3) 은 어떤 결과일까?import numpy as npx = np.random.rand(2,3)print(x)가로 2..

Python/numpy 2021.08.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

[numpy] linspace vs arange

■ linspace vs arange둘 다 숫자로 된 시퀀스를 만든다는 점에서 동일arange(시작 숫자, 미만 숫자, 간격)np.arange(10, 0, -1) → [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] 이 됨.0이 포함 안된다.즉, arange는 'A에서 시작해서 일정간격으로 숫자를 만들되, B는 포함하지 않을 때까지'라는 의미다.반면 linspace는 반드시 끝 구간을 포함한다.np.linspace(시작 숫자, 이하 숫자, 그 사이에 찍을 숫자 수)Python 3.12.4 (tags/v3.12.4:8e8a4ba, Jun 6 2024, 19:30:16) [MSC v.1940 64 bit (AMD64)] on win32Type "help", "copyright", "credits" ..

Python/numpy 2020.11.01
반응형