본문 바로가기

Python

(10)
기타 입력 처리 (map) [1. 개요]문자열을 특정 문자로 split 한 후, 이를 하나의 리스트로 묶고자 할 때 참조하는 함수(?).[2. 선언부]class map( func: (_T1@__new__) -> _S@map, iter1: Iterable[_T1@__new__], /) func 와 iterate 가능한 대상을 입력으로 받는다.[3. 예제]import sysdef factorial(v: int) -> int: if v
example. numpy & cv2 import numpyimport cv2arr = numpy.array([1,2,3,4,5,6,7,8,9]).reshape(3, 3)print(arr)# 행, 열arr[0:2, 0] = 88print(arr)arr = numpy.arange(0, 100).reshape(10, 10)print(arr)print(arr.ndim)print(arr[0].ndim)print(len(arr))print(len(arr[0]))for i in range(len(arr)): arr[0:10-i, i] = -1print(arr)myimg = cv2.imread("test.jpg")print(type(myimg))row = len(myimg)col = len(myimg[0])print(type(myimg), row,..
[python] bearing [1. 개요] wgs84 좌표를 입력으로 받아, 해당 방향의 bearing 을 구한다. [2. 코드]
[python] haversine distance [1. 개요] wgs84 좌표를 입력을 받아, 두 점 사이의 최단 거리를 구한다. [2. 코드]
[보강 필요] Selenium 기타 예제 [1. 개요] 상황 별, 예제를 정리하도록 한다. Javascript 실행. 키보드 이벤트 발생 마우스 이동? [2. 예제1] 특정 컴포넌트를 찾고, 해당 컴포넌트의 값 변경하기 from selenium import webdriver from selenium.webdriver.common.by import By driver = webdriver.Chrome() url = 'https://www.naver.com/' driver.get(url) anyElem = driver.find_elements(By.CLASS_NAME, "MyView-module__login_text___G0Dzv") driver.execute_script("arguments[0].innerHTML = 'HELLO_WORLD'", a..
Selenium 시작하기 [1. 개요] 웹 자동화를 위한 프레임워크. 자바 스크립트에 의해 동적으로 생성된 정보를 다룰 수 있다. 웹 크롤링 등, 웹 페이지에서 일부 업무를 자동화 할 수 있다. [2. 개발 환경] OS : Windows 10 Language : Python 3.5.0 [3. 설치 과정] pip install selenium # 관리자 권한에서 실행 PC 에 설치 된 Chrome 버전 확인 # 121.0.6167.185 # 같은 크로니움 엔진을 사용하지만, Whale 브라우저에서는 안됨. 버전에 맞는 Chrome driver 다운로드 # https://chromedriver.chromium.org/downloads/version-selection # 최신 버전은 아래 링크 참조 ## https://googlech..
python. io 성능 [1. 개요] 알고리즘 문제 풀이 시, io 최적화를 통한 인한 성능 개선 방법 정리 [2. 입력] 단순 input() 함수보다는 sys.stdin.readline() 를 통해서 입력 받도록 한다. import sys 가 선행되어야 한다. sys.stdin.readline() 은 개행까지 입력되므로 주의하도록 한다. rstrip() 을 이용해서 개행을 제거하던지 말던지..
python. shallow/deep copy [1. 개요] python 에서 얕은 복사와 깊은 복사 개념에 대한 내용 정리 [2. 기본 개념] C++ 를 예로들면, 어떤 객체가 있고 이 객체에 대한 포인터가 있다. 이 객체에 대해서 깊은 복사는 객체를 구성하는 모든 멤버 변수 데이터까지 복사하는 것이고, 얕은 복사는 객체를 가리키는 포인터를 복사하는 것이다. 즉, 깊은 복사 후 해당 객체에 대한 값 변경은 복사에 대상이 된 원래 객체의 데이터 변경을 유도하지 않는다. 그러나 얕은 복사 후 해당 객체에 대해서 동일한 작업을 진행하면 원래 객체의 데이터 변경까지 유도한다. [3. 예제] 2차원 배열을 선언한다 했을 때... # shallow copy board1 = [[0, 0, 0]] * 100000 # deep copy board2 = [[0, 0..
python. 유용한 코드 [1. 개요] python 코드 작성 시, 유용한 팁 배열 초기화 리스트 정렬 문자 정수 변환 리스트 순회 기타... [2. 배열 초기화] mylist1 = [0] * 10 # 길이가 10인 리스트를 0으로 초기화 mylist2 = [i for i in range(5)] # 길이가 5인 리스트를 0부터 4까지로 초기화 print(mylist1) # output # [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] print(mylist2) # output # [0, 1, 2, 3, 4] [3. 리스트 정렬] mylist = [5, 4, 3, 2, 1] mylist2 = sorted(mylist) # 주어진 배열을 정렬하여, 새로운 리스트에 저장 # 원래 배열에는 변화 없음 print(mylist) ..
Package datetime 지시자 의미 예제 %a 요일 (약칭) (en_US): Sun, Mon, ..., Sat %A 요일 (en_US): Sunday, Monday, ..., Saturday %w 요일을 숫자로 (일요일: 0, 토요일: 6) 0, 1, ..., 6 %d 0 이 패딩 된 날짜 01, 02, ..., 31 %b 월 (약칭) (en_US): Jan, Feb, ..., Dec %B 월 (en_US): January, February, ..., December %m 0 이 패딩 된 달 01, 02, ..., 12 %y 몇 세기가 없는 년도 00, 01, ..., 99 %Y 년도 2021, 2022, ..., 9999 %H 시간 00, 01, ..., 23 %I 시간 00, 01, ..., 12 %p %M %S %f %z..