Programming 95

[파이썬 기초] 파이썬 자료형의 모든 것!

1. 수치형 (Number) int : 정수형 float : 실수형 i = 123 type(i) # # 가능한 자료형 변환 (float도 동일) int(i) # 123 float(i) # 123.0 str(i) # '123' repr(i) # '123' bool(i) # True if i == None: bool(i) # False [i] # [123] < 이렇게 list로 생성 가능 (i) # (123) < 이렇게 tuple로 생성 가능 {i} # {123} < 이렇게 set으로 생성 가능 {i : "int"} # {123 : "int"} < 이렇게 dictionary로 생성 가능 # 불가능한 자료형 변환 list(i) tuple(i) dict(i) set(i) 2. 문자열 (String) ' ' 또는..

Programming/python 2023.03.14

[파이썬 기초] 문자열 연산의 모든 것!

1) 소문자, 대문자 변환 # 소문자로 만들어주는 함수 s.lower() # 대문자로 만들어주는 함수 s.upper() 2) 패턴 변환 # s의 문자열 중에서 old_pattern이 있다면, new_pattern으로 수정해서 리턴 s.replace("old_pattern", "new_pattern" [,maxreplace]) 3) 문자열 탐색 방법 # 문자열 s가 pattern으로 시작되는가? True, False s.startswith("pattern" [,start [,end]]) # 문자열 s가 pattern으로 끝나는가? True, False s.endswith("pattern", [,start [,end]]) # 문자열 s에 pattern이 몇번째 인덱스에 포함되어 있는가? # 없다면 -1을 리..

Programming/python 2023.03.14

[파이썬 기초] 파이썬 연산의 모든 것! (Python Operators CheatSheet)

Arithmetic Operation 파이썬 문법 연산 (영어) 연산 (한국어) x + y Addition 덧셈 x - y Substraction 뺄셈 x * y Multiplication 곱셈 x / y Division 나눗셈 x // y Trucated Division 잘린 나눗셈 x ** y Power (x to the y power) 제곱 x % y Modulo (x mod y) Remainder 나머지 Common Mathematic Functions 파이썬 문법 연산 (영어) 연산 (한국어) abs(x) absolute value 절댓값 divmod(x, y) Division and Modulo 몫, 나머지 pow(x, y [,modulo]) Power and Modulo 제곱 후 나머지 ro..

Programming/python 2023.03.11

파이썬 이진수(2진수) 계산하는 방법 - 문자열로 되어있는 이진수를 만났을 때!

파이썬의 기본 자료형인 int, float 등의 숫자는 보통 10진법으로 표기된다. 2진법 숫자를 사용하고 싶을 때는 문자열로 표기할 수 있다. 2진수 문자열 다루는 법 2진법 숫자 표기 앞에 0b라는 표현을 붙여 '0b101'이라고 하면 5를 이진법으로 표현한 것과 동일하다. 문자열은 int(문자열, n진수)로 변환하여 연산할 수 있다. bin1 = "101" int(bin1) # 101 int(bin1, 2) # 5 2진수 더하는 법 bin1 = "10" bin2 = "11" addition = int(bin1,2)+int(bin2, 2) # 5 type(addition) # bin(addition) # '0b101' bin(addition)[2:] # '101' type(bin(addition)) ..

Programming/python 2023.03.07

2023년 3월 파이썬 문법 - 공부 기록

* 리스트 속의 리스트에서의 min, max 활용법 dots = [[1, 4], [9, 2], [3, 8], [11, 6]] min(dots) # [1, 4] max(dots) # [11, 6] * 문자열 속의 패턴 찾기 import re s = "apple, banana" re.findall("a", s) # Output : ["a", "a", "a", "a"] # s 안의 모든 a를 찾아서 리스트로 반환함 * 두 값의 최대공약수를 구하는 법 (Greatest Common Divisor) from math import gcd a = 10 b = 15 gcd(a,b) # 5 * 두 값의 최소공배수를 구하는 법 (Least/Lowest Common Multiple) from math import lcm a..

Programming/python 2023.03.06

2023년 2월 파이썬 문법 - 공부 기록

* string.isdigit() : 숫자로 변환 가능한 문자열인지 True, False로 출력 * 빈공간(스페이스)가 포함된 문자열 다루는 법 / 쪼개는 법 s = ' 1 3 45 2' s.split() # Output : ['1', '3', '45', '2'] --> 스페이스 빈칸이 있어야만 가능함 list(''.join(s.split())) # Output : ['1', '3', '4', '5', '2'] --> 45가 4와 5로 쪼개짐 list(s) # Output : [' ', ' ', ' ', '1', ' ', ' ', '3', ' ', ' ', '4', '5', ' ', ' ', ' ', '2'] # --> 스페이스 빈칸까지 값으로 들어감 [num for num in list(s) if nu..

Programming/python 2023.03.05

기울어진 BBOX 이미지를 잘라내는 법, 수평으로 회전시키는 방법! (EasyOCR, OpenCV)

How to crop rotated images using bounding box points of image?IC13 데이터셋의 텍스트이미지를 EasyOCR로 BBOX를 추출해내는 과정 중에서, 에러가 발생했다. 하나의 이미지에 대해서만 발생한 예외상황으로 BBOX 좌표값을 추출한 뒤, cropped image를 생성하는 과정에서 이 발생하였다. 원인은 이미지에 보이는 "UPGRADE" 단어처럼 대각선으로 기울어진 텍스트들은 BBOX의 좌표값이 start 좌표값이 end 좌표값보다 커지기 때문에 기존의 코드가 적용되지 않고, 에러가 발생했던 것이다. image[start_Y:end_Y, start_X:end_X] 따라서, crop하는 과정에서 기울어진 텍스트 이미지까지 추출해서 가져올 수 있는 코드가 ..

Anaconda 가상환경에서 내가 만든 script.py 불러오는 아주 간단한 방법!

How to import my python script in Anaconda virtual environment * 필자의 OS : linux (아마 다른 OS에서도 해당 방법으로 문제없이 돌아갈것으로 예상됩니다!) STEP 1. Find the parent path for importing - 이미 설치된 라이브러리로 경로 확인 - output에서 [ ] 사이의 값은 각자의 환경에 따라 달라질 수 있는 값입니다. import numpy numpy.__file__ # Output # '/home/[내컴퓨터이름]/anaconda3/envs/[가상환경이름]/lib/python[3.9]/site-packages/numpy/__init__.py' STEP 2. Create folder in the parent ..

Programming/python 2023.02.15

Python 파이썬 대문자, 소문자 문자열 다루기

파이썬에서 문자열 string의 대문자, 소문자 다루는 법을 알아 보겠습니다. - string.isupper() : 문자열이 대문자 입니까? --> True or False - string.islower() : 문자열이 소문자 입니까? --> True or False - string.lower() : 문자열을 소문자로 만들어주세요. - string.upper() : 문자열을 대문자로 만들어주세요. s = 'apple' s.isupper() # False s = s.upper() s.isupper() # True s # 'APPLE' s.islower() # False s = s.lower() s #'apple' - string.swapcase() : 문자열에 있는 소문자, 대문자를 바꿔주세요 s = 'A..

Programming/python 2023.02.12